best beginners programming language

Viewing 20 reply threads
  • Author
    Posts
    • #4764
      j0rDy
      Participant

      they always say know your strength, but know your weakness better. at this point i do, and i intent to do something about it.

      i lack a pretty good foundation in programming and i’m willing to start with some basics. however, when i look at the programming languages used in the ethical hacker field i see mostly perl,python and c. i was wondering whats the best language to start with according to easiest learning curve and power. also, where do i find good documentation/tutorials to start?

    • #29856
      UNIX
      Participant

      I think that’s a question of faith and about personal preference. If you search in your favorite search engine for the very same questions you will get many different answers. I am quite sure, that here it will be no different. It also depends on where you want to go with it and what you would like to achieve with it later.

      Learning or beginning with a scripting language would be a good idea in my opinion, as it should demonstrate you most of the basic and some advanced topics, such as data types, loops, exception handling etc. which are similar to other programming languages as well.

      If you are more interested to begin with a programming language, I would recommend C. It is not too hard to learn in my opinion, especially as you have stated that you already have a good foundation. C is a very strong language, works on most platforms, is used a lot in the exploiting field and should also help you later on, if you would like to go into oop (in regards to c++).

      Once you have understood the concepts behind programming, it hardly matters which programming language you use as they are mostly the same. Then it is only about syntax and implementation.

    • #29857
      KamiCrazy
      Participant

      I learnt java first because thats what they teach in universities nowadays.

      If you wanted bang for buck you can’t go wrong with python. Relatively easy to learn, the style is very consistent, used by hackers all over as a primary tool to develop new tools, you can easily meld it with C, develop modules for core impact/canvas, it is similar to ruby which is then useful for metasploit, google endorses it.

      Btw awesec he says he lacks a foundation in programming 😛

      If I wanted to be an ethical hacker and needed to learn programming. I would do python first, then learn C, then learn assembly. I still believe assembly is still important if you want to seriously understand memory manipulation and how to write shellcode.

    • #29858
      UNIX
      Participant

      Ar, you are right, guess I didn’t catch the word ‘lack’. Though I think C would be a good starting point anyway. 🙂

      In my first response to this questions I also wrote a few sentences about assembler, as I really think it is good to know for many areas in ethical hacking, but as the initial question was about a beginning language, I removed it. I can fully agree with you here, KamiCrazy, asm is great to know for many reasons.

    • #29859
      zeroflaw
      Participant

      At college we started programming in C#, which in my opinion is a very clean language that makes you write less buggy code than C for example. Personally, with what I know now, I would have started with C++. It’s the same as C in many ways, but allows objected oriented programming.

      Well I guess it depends on your goals, as stated before. If you want to write just exploit code then maybe some interpreted language like Python or Ruby would be a better choice.

      I agree with KamiCrazy, some assembly knowledge is really important if you want to understand the so called “bigger picture”, memory layout etc. In my opinion, it will make you a better programmer.

      And as Awesec said, at some point, picking up another language will be fairly easy, because in the end its just different syntax. The differences are usually not that big.

    • #29860
      KrisTeason
      Participant

      @zeroflaw – It may just be me man – but I think ruby would be a bit of a possible overkill on a beginner. I look at some ruby code and go, ‘woah’

      I’ve taken several programming classes and the one’s I consider most beginner friendly is python. I also found VB.NET beginner friendly (it’s probably out of the question here?).

      I found python docs to be a good source for information just for starting out – I used it a lot in the class.
      http://docs.python.org/3.1/tutorial/index.html

      If you have the money for a couple books, maybe someone may back me up in saying I’ve heard some positives for Gray Hat Python Programming For Hackers & Reverse Engineers.

      http://www.amazon.com/Gray-Hat-Python-Programming-Engineers/dp/1593271921

      This one also seems affordable:

      Python For Dummies, 2006

    • #29861
      rattis
      Participant

      Might take a look at this site:
      http://catb.org/~esr/faqs/hacker-howto.html

      While Mr. Raymond is talking about being a hacker in the old school sense of the work, he does talk about learning programming languages.

      http://catb.org/~esr/faqs/hacker-howto.html#skills1

      Personally, on my list right now: Relearn Shell Programming (used to be good, but haven’t done it in forever). Followed by Perl (I’ve got tons of books, and it’ll help at work), and then finally Python.

    • #29862
      UNIX
      Participant

      I wouldn’t recommend Gray Hat Python: Python Programming for Hackers and Reverse Engineers as a book to pick up to learn basic programming. It is a good read in my opinion, but not for a beginner.

      I agree with you though that Python is a good language to start with. 😉

    • #29863
      hayabusa
      Participant

      Yeah…  ‘Gray Hat Python’ def not a good one for a ‘beginner.’  Totally agreed. 

      For starters, if you’re wanting Python and are a TRUE beginner, I’d look more at the following:

      http://www.amazon.com/Hello-World-Computer-Programming-Beginners/dp/1933988495

      It’s VERY low level / basic, but is good as an introductory dive into Python, from which you can then work outward.  Additionally, it’s an EASY read, and one that’ll get you comfortable with the basics, quickly, allowing you to decide if it’s the language for you.

      Sorry if it seems almost TOO basic, but you’d be surprised how many folks I knew that used it, fairly recently, to jump in.  Additionally, don mentioned / reviewed it on EH-net, a while back…

      http://www.ethicalhacker.net/component/option,com_smf/Itemid,54/topic,3978.msg18724/#msg18724

    • #29864
      j0rDy
      Participant

      @chrisj wrote:

      Personally, on my list right now: Relearn Shell Programming (used to be good, but haven’t done it in forever). Followed by Perl (I’ve got tons of books, and it’ll help at work), and then finally Python.

      thanks for the links! this seems as a pretty good starting point. i picked up shell scripting first to get back in the game, after that i will get back into either perl or python.

    • #29865
      rattis
      Participant

      J0rDy,

      If the focus is on security, I’d go with Python first. Seems, from what I’ve heard and seen, more stuff is written with it for security related work.

      I’m only going with Perl because I have several books on it already, and only GrayHat Python, which I’m sad to find out isn’t a good book to start with for Python.

    • #29866
      hayabusa
      Participant

      @chrisj wrote:

      I’m only going with Perl because I have several books on it already, and only GrayHat Python, which I’m sad to find out isn’t a good book to start with for Python.

      Gray Hat Python – great book, just not as a first step / starter.

    • #29867
      Don Donzal
      Keymaster

      I’m in the process of writing an article for next month where I talk about places to learn. There’s a lot of threads out there on where do I start and where can I get good (and possibly free or cheap) information out there. One of the topics I hit in the article is on programming.

      So without releasing the entire article in advance, here’s a couple resources you guys might like:

      Beginner Developer Learning Center by Microsoft
      ‘Dive Into Python 3’ by Mark Pilgrim.

      So to chrisj, looks like you now have a book on Python, so I guess there’s no need to wait on learning Python.  😉

      Hope this helps,
      Don

    • #29868
      rattis
      Participant

      @don wrote:

      So to chrisj, looks like you now have a book on Python, so I guess there’s no need to wait on learning Python.  😉

      Hope this helps,
      Don

      Just time, Hacking for Dummies and Hacking the Next Generation to get through first.

      And I can always get python books through my Safari account (How I got GrayHat Python).

    • #29869
      j0rDy
      Participant

      thanks for the links/book titles guys! cant wait to get started again!

    • #29870
      Dengar13
      Participant

      Thanks all for the Python links.  This is what was recommended to learn at my Sec542 course and it seems like that’s what I will be learning next. 

    • #29871
      rattis
      Participant

      Going back to the link Don Posted:

      Which would be better, Python2 or Python3?

    • #29872
      Anquilas
      Participant

      Didn’t know Python would be a popular candidate as a beginner language tbh. it’s long since due that I started learning that one.

      A question on the side: is Java a good language to begin with? It’s what I recommended some of my mates since I find it a nice, easy to understand language.

    • #29873
      UNIX
      Participant

      chrisj: It doesn’t matter that much if you go for Python 2 or 3. Although there are obviously some differences, it won’t be hard to pick up the other one if you have already learned the other one. If you are curious, you could also setup both. You will probably find more information and projects based on Python 2 tough.

    • #29874
      rattis
      Participant

      awesec: I was wondering. I opened up the first chapter of Dive into Python 3 yesterday and saw it talking about most nix boxes would have it. All my work and home boxes have python 2.x.

      Left me a little confused, like php4 and php5 and perl 5 vs 6. Which to learn, what is out and usable.

      Just based on what I’m seeing, I think I’m going to go with the python2 for now (when I get to it, have to brush up on shell first).

    • #29875
      n1p
      Participant

      Yeah stick with python 2.5,.6. Dont think 3 is in full circulation yet and some apps like w3af, immunity debugger do not support it as yet

Viewing 20 reply threads
  • You must be logged in to reply to this topic.

Copyright ©2020 Caendra, Inc.

Contact Us

Thoughts, suggestions, issues? Send us an email, and we'll get back to you.

Sending

Sign in with Caendra

Forgot password?Sign up

Forgot your details?