Jump to content


Photo
- - - - -

looking to learn


  • Please log in to reply
12 replies to this topic

#1 texas raised

texas raised

    Will I break 10 posts?

  • Members
  • 3 posts
  • Gender:Male

Posted 17 August 2009 - 10:08 PM

looking for a mentour

dont know anything
started reading about c not c++
that just confused me more. i just think there is a place to start i just need to find
like a before you learn how to hack
and i mean hack in the since of id like to make a future out of computer based work
and if not a mentour maybe point me in the right direction
and dont say html or c because i already looked
somthing before that

if u cant tell by now
im a major newb

#2 dinscurge

dinscurge

    "I Hack, therefore, I am"

  • Members
  • 937 posts
  • Country:
  • Gender:Male
  • Location:the bunker

Posted 17 August 2009 - 10:36 PM

you should check out http://www.ruby-lang.org/en/, http://www.python.org/, or http://www.perl.org/

#3 Ohm

Ohm

    I could have written a book with all of these posts

  • Members
  • 3,209 posts
  • Gender:Male
  • Location:Maine, USA

Posted 17 August 2009 - 10:55 PM

Starting is hard. Like anything, there's a learning curve and as this is not a trivial task, the curve is rather steep and quite high.

Pick a programming language and learn it. Knowing a programming language is mandatory. Even if you don't know exactly how something is written, having programming experience and having a reasonable knowledge of how something could be written is essential. The more of this knowledge you have, the more things you will know intuitively. It is not possible to understand a thing about computers without knowing how they're programmed, so even if this doesn't achieve any of your short-term goals, your first step should be to learn a programming language.

I recommend a modern, dynamic language. They're very easy to work with, easy to learn, very forgiving, etc. Some good candidates are Ruby and Python. Both are free, both run on any OS, and both have free (legal) books online teaching them.

It doesn't really matter which language you choose though, just stick with it. Saying C is too hard and just giving up wastes time. Yes, you are going to be confused. Yes, it will take work. Yes, you will get through it. So just pick a language, learn it, and (this is the important part) stick with it. Learn it completely and thoroughly. This could take you a very long time, as there are a lot of concepts you need to wrap your brain around, but it will happen. Use this language to write programs. Either computer science problems, other "practice" programs, or practical programs. Become a competent programmer. Once you're a competent programmer, a lot of other things just fall into place.

You also don't really need a "mentor." You can ask any and all questions you want here, we'll all be your mentor.

#4 Ohm

Ohm

    I could have written a book with all of these posts

  • Members
  • 3,209 posts
  • Gender:Male
  • Location:Maine, USA

Posted 17 August 2009 - 10:58 PM

you should check out http://www.ruby-lang.org/en/, http://www.python.org/, or http://www.perl.org/


I've made this point several (many?) times before on these forums. Please, don't recommend Perl to a newbie. Perl is difficult for just about anyone. It has a learning curve that makes the white cliffs of dover look like a gentle hill. It's confusing, it's convoluted, it's messy, and generally a terrible programming language. You can debate that last point all you want, but I think we can all agree that this is one that newbies should stay clear of.

#5 ~Total_Blackout~

~Total_Blackout~

    mad 1337

  • Members
  • 130 posts

Posted 17 August 2009 - 11:22 PM

The U of MN starts you with Java (well actually scheme, but none of us like to count that) then it moves into C.

Edited by ~Total_Blackout~, 17 August 2009 - 11:25 PM.


#6 Phail_Saph

Phail_Saph

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 323 posts
  • Country:
  • Gender:Male
  • Location:Philly

Posted 17 August 2009 - 11:24 PM

looking for a mentour

dont know anything
started reading about c not c++
that just confused me more. i just think there is a place to start i just need to find
like a before you learn how to hack
and i mean hack in the since of id like to make a future out of computer based work
and if not a mentour maybe point me in the right direction
and dont say html or c because i already looked
somthing before that

if u cant tell by now
im a major newb

Learning Hacking and Computing is more about doing than reading although you will definitely be doing your share. I recommend that you download one of the Visual Studio Express IDE's (Integrated Development Environment) and start coding some of the examples in your book so that you feel empowered. It looks like you are taking the C/C++ path so I would download the Visual Studio C++ Express IDE. Right now it sounds like you are in the 'dreamer' phase where you are being a hacker in your mind. I'm not being insulting here; we are all like this in any endeavour. Until we take the first step everything is just a mental exercise. Once you get some code working you will feel sooo empowered and then you'll be on your way. You probably won't be able to stop coding for awhile! Post if you come across any problems. Getting it to run after typing the code in is confusing the first time around so if you get stumped feel free to post or use Google.

Edited by Phail_Saph, 17 August 2009 - 11:25 PM.


#7 texas raised

texas raised

    Will I break 10 posts?

  • Members
  • 3 posts
  • Gender:Male

Posted 17 August 2009 - 11:26 PM

thank yall very much

i know yall probably anwser q like these all the time

#8 G-Brain

G-Brain

    mad 1337

  • Members
  • 127 posts
  • Country:
  • Gender:Male

Posted 18 August 2009 - 02:42 PM

I've made this point several (many?) times before on these forums. Please, don't recommend Perl to a newbie. Perl is difficult for just about anyone. It has a learning curve that makes the white cliffs of dover look like a gentle hill. It's confusing, it's convoluted, it's messy, and generally a terrible programming language. You can debate that last point all you want, but I think we can all agree that this is one that newbies should stay clear of.

I disagree completely. I think Perl is a great language. Perl code can actually look quite beautiful. You can write messy code in any language. Please explain what makes it a terrible language, because I haven't heard anything substantial.

I don't think Perl has a steep learning curve at all. What makes you say this? Which language do you think is better in this respect?

#9 Ohm

Ohm

    I could have written a book with all of these posts

  • Members
  • 3,209 posts
  • Gender:Male
  • Location:Maine, USA

Posted 18 August 2009 - 04:38 PM

Perl is even confusing for experienced programmers. There are so many features, I can't even begin to count them all. It doesn't follow a single paradigm, there are so many "magic" syntax constructs and "blessed" objects that do mysterious things behind the scenes, I can't imagine what it would be like to deal with that on a daily basis. Most of the features lack basic abstractions that would make them seem like an actual part of the language. Almost everything with Perl ends up being a hack that was never fixed or improved.

The syntax is extremely cryptic. This is a major hindrance not only for newbies, but for any programmers. The high use of symbols, single letter or symbol variables, "magic" control structures that give no indication to the reader what they do, etc all contribute to "write only" programs. As in they're so cryptic, it takes serious effort to actually figure out what they do, even if what they do is not very complicated. Yes, you can avoid that, but it involves ignoring the idioms of the language and adhering to strict conventions. What's the point of using a language if you have to ignore half of it and fight it at every step.

The learning curve is steep. Once you get beyond how to declare a variable and a few basic constructs, it just keeps getting steeper. Want to use object oriented programming? There's yet more cryptic syntax and "blessed" modules with subroutines. When I was programming with Perl, I had to constantly look things like this up. If I used them once then needed them again months later, I'd completely forgotten how to do it.

The bottom line is this: Perl is messy. Really messy. Perl is what happens when you get 100 people together to make a programming language. Except they all have a different view of what the language will be, how it will work and what you can do with it. On top of that, you have a project leader that lets all of these ideas be implemented and integrates them all. Perl is a language with no direction and no focus. What comes out of the oven is a gigantic mess. But of course it makes a lot of language nerds very happy, because all of their favorite (often obscure and not very useful) language features are implemented there. This has actually gotten worse with Perl 6 as well. It has even more features you'll never use (or can't remember how to use), and a whole new set of idosyncrasies to learn and work around.

That's not to say it can't be used to write good software, but then again I've seen some good software written in GW-BASIC. I'm not about to go recommend that to a newbie though. I suppose he could start with Perl if he really wanted to, but there are much better choices out there.

#10 mungewell

mungewell

    SUPR3M3 31337 Mack Daddy P1MP

  • Agents of the Revolution
  • 376 posts
  • Location:Planet Earth

Posted 18 August 2009 - 06:35 PM

For a newbie I would suggest starting with Python, as mentioned there are loads of good resources.... like:
http://www.greenteap...om/thinkpython/

I also think that it is a good idea to have a project in mind, something not too complicated but that will challenge you a little bit.
Mungewell.

#11 G-Brain

G-Brain

    mad 1337

  • Members
  • 127 posts
  • Country:
  • Gender:Male

Posted 19 August 2009 - 05:08 AM

There are so many features, I can't even begin to count them all.

That doesn't sound so bad to me.

It doesn't follow a single paradigm

Neither do Python, Ruby, Tcl, PHP, Javascript, Lua, C++ and Java.

there are so many "magic" syntax constructs and "blessed" objects that do mysterious things behind the scenes, I can't imagine what it would be like to deal with that on a daily basis.

What? Bless REF, CLASSNAME tells the thingy referenced by REF that it is now an object in the CLASSNAME package. Are you saying you don't understand this feature? As for the magic syntax, I find that it's actually not so hard to understand and there are quite a few convenient shorthands.

Most of the features lack basic abstractions that would make them seem like an actual part of the language. Almost everything with Perl ends up being a hack that was never fixed or improved.

Like what?

The syntax is extremely cryptic. This is a major hindrance not only for newbies, but for any programmers. The high use of symbols, single letter or symbol variables, "magic" control structures that give no indication to the reader what they do, etc all contribute to "write only" programs. As in they're so cryptic, it takes serious effort to actually figure out what they do, even if what they do is not very complicated.

I find this not to be the case at all. Can you give an example? What "magic control structures" are you talking about?

Yes, you can avoid that, but it involves ignoring the idioms of the language and adhering to strict conventions. What's the point of using a language if you have to ignore half of it and fight it at every step.

Idioms like what? TIMTOWTDI?

The learning curve is steep. Once you get beyond how to declare a variable and a few basic constructs, it just keeps getting steeper. Want to use object oriented programming? There's yet more cryptic syntax and "blessed" modules with subroutines.

I don't think it's steep at all. Yes, it has a different way of doing OOP than other programming languages. Classes are packages, methods are subroutines in a package. It's actually really straightforward. What else do you think is hard?

My point is that I don't think it's fair to exclude Perl from the discussion. I think it's a very nice language, and it's not hard for beginners at all.

Edited by G-Brain, 19 August 2009 - 05:09 AM.


#12 Phail_Saph

Phail_Saph

    SUPR3M3 31337 Mack Daddy P1MP

  • Members
  • 323 posts
  • Country:
  • Gender:Male
  • Location:Philly

Posted 19 August 2009 - 06:42 PM

I agree that no language should be excluded by default. A newbie will find code from all languages to be cryptic at first so I don't think that this is a convincing disadvantage for Perl. In fact, most of us would agree that after learning C++ or Java or Basic or Python that Perl looks 'inelegant' and unnecessarily arcane. On the flip-side Perl probably has one of the most creative souls of any language as already has been explained by it being so multi-dimentional, so flexible. Also if you are a Linux guru Perl and you will just click since Unix/Linus is where it was spawned. Plus it is a major web language. You can start doing things fairly quickly. You can't do cool stuff like that with C or C++ for awhile and it is usually through a derivative like C# or Java. I think this is important to keep a person interested.

But anyway, I do think that a person who has a true passion for hacking and programming probably should take the C->C++ and Assembly somewhere along the way path since you will learn computer science from its core out. Afterwards you can acquire any language pretty rapidly, literally overnight...even Perl.

I don't agree that Python should be a beginner's first choice. Although it doesn't mean I'm right! It is an easy langauge after you already learned to program the 'traditional' way, but if you go with Python then start taking classes in school and want to work in industry and all that I think Python will create the wrong 'model' in your head. Also when you look at code on the web and all that you'll find it rather clunky and cryptic for no rhyme or reason. I think its a great language AFTER you learn the 'traditional' way.

BTW, the traditional way is the C/C++ path I meantioned and the Java path. Take your pick.


#13 WaMu

WaMu

    HACK THE PLANET!

  • Members
  • 64 posts
  • Gender:Male

Posted 20 August 2009 - 12:25 AM

Haha, I think ohm hates Perl just about as much as I do.

I like python for making quick scripts, but I honestly don't know how Newbie friendly it is.

Personally, I started with FORTRAN (back in the day), and I can honestly say that anything beats that. COBOL was fun because you could include a bunch of crap within the code (like notes, but they weren't notes) that didn't do shit, but was mandatory to make the code "easy to read".




BinRev is hosted by the great people at Lunarpages!