Image
 
linkedin_logo.png rss_logo.jpg
twitter_logo.png youtube_logo.jpg
Latest Additions
 
EH-Net Login
Welcome Guest.






Lost Password?
No account yet? Register
Who's Online
We have 47 guests and 1 member online
EH-Net News Feeds
Latest Additions
 
Advertisement

You are here: Home arrow Forum arrow Ethical Hacking Discussions and Related Certificationsarrow Otherarrow best beginners programming language
EH-Net
May 25, 2012, 06:07:59 PM *
Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
News: Advertise on EH-Net!! - Reasonable Rates, Highly Targeted Audience.
 
   Home   Help Calendar Login Register  
Pages: [1] 2   Go Down
  Print  
Author Topic: best beginners programming language  (Read 22534 times)
0 Members and 5 Guests are viewing this topic.
j0rDy
Hero Member
*****
Offline Offline

Posts: 578


View Profile
« on: March 08, 2010, 03:26:28 AM »

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?
Logged

ISC2 Associate, CEH, OSCP, OSWP

earning my stripes appears to be a road i must travel alone...with a little help of EH.net
aweSEC
Hero Member
*****
Offline Offline

Posts: 1100


View Profile
« Reply #1 on: March 08, 2010, 03:37:35 AM »

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.
Logged
KamiCrazy
Jr. Member
**
Offline Offline

Posts: 78


View Profile
« Reply #2 on: March 08, 2010, 03:49:26 AM »

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 Tongue

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.
Logged
aweSEC
Hero Member
*****
Offline Offline

Posts: 1100


View Profile
« Reply #3 on: March 08, 2010, 03:58:51 AM »

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

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.
Logged
zeroflaw
Full Member
***
Offline Offline

Posts: 184



View Profile
« Reply #4 on: March 08, 2010, 05:44:10 AM »

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.

Logged

ZF
xXxKrisxXx
Sr. Member
****
Offline Offline

Posts: 491



View Profile
« Reply #5 on: March 08, 2010, 11:00:49 AM »

@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
Logged

OSCP, OWSP, eCPPT
chrisj
Hero Member
*****
Offline Offline

Posts: 997


View Profile
« Reply #6 on: March 08, 2010, 11:16:54 AM »

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.
Logged

OSWP, Sec+
aweSEC
Hero Member
*****
Offline Offline

Posts: 1100


View Profile
« Reply #7 on: March 08, 2010, 11:22:06 AM »

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. Wink
« Last Edit: March 08, 2010, 11:34:21 AM by awesec » Logged
hayabusa
Hero Member
*****
Offline Offline

Posts: 1304



View Profile
« Reply #8 on: March 08, 2010, 12:03:42 PM »

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
Logged

~ hayabusa ~ 

"All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved." - Sun Tzu, 'The Art of War'


OSCP , GPEN, C|EH
j0rDy
Hero Member
*****
Offline Offline

Posts: 578


View Profile
« Reply #9 on: March 09, 2010, 06:29:04 AM »

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.
Logged

ISC2 Associate, CEH, OSCP, OSWP

earning my stripes appears to be a road i must travel alone...with a little help of EH.net
chrisj
Hero Member
*****
Offline Offline

Posts: 997


View Profile
« Reply #10 on: March 09, 2010, 08:44:16 AM »

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.
Logged

OSWP, Sec+
hayabusa
Hero Member
*****
Offline Offline

Posts: 1304



View Profile
« Reply #11 on: March 09, 2010, 09:23:45 AM »

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.
Logged

~ hayabusa ~ 

"All men can see these tactics whereby I conquer, but what none can see is the strategy out of which victory is evolved." - Sun Tzu, 'The Art of War'


OSCP , GPEN, C|EH
don
Editor-In-Chief
Administrator
Hero Member
*****
Offline Offline

Posts: 3917


Editor-In-Chief


View Profile WWW
« Reply #12 on: March 09, 2010, 09:36:28 AM »

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.  Wink

Hope this helps,
Don
Logged

CISSP, MCSE, CSTA, Security+ SME
chrisj
Hero Member
*****
Offline Offline

Posts: 997


View Profile
« Reply #13 on: March 09, 2010, 10:38:31 AM »


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

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).
« Last Edit: March 09, 2010, 10:40:30 AM by chrisj » Logged

OSWP, Sec+
j0rDy
Hero Member
*****
Offline Offline

Posts: 578


View Profile
« Reply #14 on: March 10, 2010, 09:53:35 AM »

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

ISC2 Associate, CEH, OSCP, OSWP

earning my stripes appears to be a road i must travel alone...with a little help of EH.net
Pages: [1] 2   Go Up
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
Joomla Bridge by JoomlaHacks.com
Valid XHTML 1.0! Valid CSS!
Page created in 0.292 seconds with 23 queries.
 

gk_static-ad_feb2012.jpg
Global Knowledge: Build Security Skills to Protect & Defend

els_130x200fixed2.gif
eLearnSecurity Student Course Now Live!
5% Off with Code
ELS-EH-5

SANS Deals 4 EH-Netters
$150 OFF Any SANS Course in Any Format!
Coupon Code: EHN_Connect Including SANS Security West 2012 & SANSFIRE 2012
Recent Forum Topics

cbtnuggets_logo_125.jpg
Try CBT Nuggets Free!

Vote For EH-Net

Add to Technorati Favorites
technorati fave

 
         
Advertisement

© 2012 The Ethical Hacker Network
Joomla! is Free Software released under the GNU/GPL License.