Which language should I learn this summer?

Viewing 23 reply threads
  • Author
    Posts
    • #3828
      TTewell
      Participant

      Hey guys.  I’m looking to study up on 1 programming language over the summer while I’m not in classes.  I want to learn something that will be a “resume stuffer”  ie. help me get an admin/security job and something that will be useful.  The ones that I was looking at that seem to be doing well are Python, Ruby, and PHP.  What do you guys think?  I was leaning towards Python.

    • #24456
      RoleReversal
      Participant

      TTewell,

      depends on your skills and purpose. I’ve been playing with Python lately and have found it really usable and simple to learn (but still powerful). Alternatively, I’m considering switching my attention to Ruby so I can try my hand with some of the Metasploit goodies. Decisions, decisions…

      Andrew

    • #24457
      TTewell
      Participant

      As far as purpose, it’s mainly to make myself more attractive and versatile to employers.  I was considering Python because it seems to be the “hot” programming language right now.

    • #24458
      RoleReversal
      Participant

      In that case any language should suit your purpose. Last bit of advice, which I’ve mentioned in similar threads; pick a project to learn with. Personally I find it really difficult to learn a language for the sake of it, learning the little bits as and when I need them seems to make the whole process more natural.

      If your sticking with Python I’d suggest http://www.diveintopython.org/, was originally introduced to it through this site and it hasn’t let me down yet.

    • #24459
      Skinner_au
      Participant

      Yeah it seems to me that everywhere i look there’s Python too.

      I hadn’t done any programming for > 10yrs and I picked up Python really easily, despite my philosophical objections to certain traits of dynamic languages! (no declaring variables etc).

      It’s a great language, massively powerful, and has so much builtin functionality. I joined showmedo.com and watched most of their videos, while keeping a good book or two by my side.

      It’s faster and seems more mature in a structured/organisational sense compared with Ruby.

      That said, depending on what kind of Admin you’re planning on being, you may want to consider Perl. I’ve never done any myself, but it seems pretty popular with the Admins I know. (classic quote from the maker of perl: “Perl is worse than Python because it’s users wanted it that way” :))

      I Python it in so many more ways than I ever thought I would.

    • #24460
      former33t
      Participant

      I’ll add my $.02.  I have a pretty advanced programming background and find that once you know how to program, its just syntax to pick up 80% of a language (the other 20% comes from learning the nuances of the language itself, how to do things more quickly with builtins, etc). 

      I can’t speak for Ruby because I don’t know a line of it.  I do know PHP very well and did some large scale web development (> 20k lines of custom code) on a contract a couple of years ago.  Its handy for the web, but not much for anything else (despite the fact that a PHP GTK module exists among others).  I’d stay away from it if it is going to be your only strong language.  OTOH, if you already have another language and want to sell yourself as being able to deliver web solutions to problems as well, then maybe its the ticket.

      I’m a Perl person when it comes to doing admin stuff.  I find they have a great user community at perlmonks.org.  For three years, I prototyped most of my code in perl (for proof of concept/rapid deployment of a stopgap solution) before writing a final product in C++.  As you know, sometimes the software life cycle doesn’t work out and you never get around to a final solution.  Some of my perl code is still out there and has scaled VERY well.

      I’m just now having to learn Python to incorporate functionality into a client’s existing application suite that is written in python.  I can’t speak for it either.

      I agree with Andrew that you should definitely learn with a project rather than for learning’s sake.  That’s been my key to learning anything was to put it into application.  There are plenty of open source projects out there that need help, even scripting help.  If you are looking to learn the language for a resume builder, get involved withe one of the projects and contribute while learning the language or build an add-on (like ndiff for nmap).  Pick the project you contribute to by the community you want to work in and possibly by the time you are job searching your technical interviewer will have heard of (or used) the project you contributed to.  That’s a resume builder.

    • #24461
      TTewell
      Participant

      Thanks guys.  There is some great advice in here.  Thanks Andrew for the site.  I’ll have to check it out!

      I’m in school for Networking right now and plan to go into network admin then into security.  I am definitely not a “programmer” and don’t really have any desire to do a lot of coding in my career.  I think that a project would be a little over my head for that reason.  I’m just looking to pick up a language to add another dimension to my abilities.

    • #24462
      Don Donzal
      Keymaster

      A project can be any size. I think his point is more along the lines of having a useful end goal as opposed to just doing some exercises in a book, web site, etc. So even if it’s just a program to take 2 files and compare them, that’s a project, too.

      BTW – My vote goes to Python. I’m reading, “Hello World! Computer Programming for Kids and Other Beginners.” Loving it for anyone, even 30 year IT vets who want to finally learn programming. It uses Python. Review coming in a couple weeks.

      Don

    • #24463
      apollo
      Participant

      I also agree on Python.  As for a project, since you are studying networking, why don’t you work on doing a quick tool in python to take ip/netmask information and turn it into CIDR notation.  That is something that will ensure that you have a quality understanding of ip subnetting for your networking stuff, and may be usefull in other scripts that you may need down the road for projects or jobs.  It should also (hopefully) give you a good introduction to libraries, functions, and a few other core constructs of programming languages. 

    • #24464
      TTewell
      Participant

      Thanks for the book suggestion Don.  I didn’t know that book focused on Python.  I’m going to have to pick it up now!

      Thanks for the suggestion of subnet mask to CIDR, apollo!  That is genius yet simple.  I love it  ;D

    • #24465
      UNIX
      Participant

      So you go with Python?

      In my opinion it doesn’t matter which programming language you pick. As former33t already said it is more about understanding programming in general rather than knowing a synthax. Once you understand the concepts it won`t be hard to change to another programming language or learn another one.

      If you want to learn programming just because to add it on your resume, I think it is the wrong thing anyway. If you just learn it because “you have to” you probably won’t become a good one and it won’t help you or your employer.

      Easy ones to learn or start with are Visual Basic, .NET languages and Python. When you want to work in the network field a scripting language such as Python will not be a bad choice but when you aim to be more in the security field you may have often to program tools by yourself where you might get stuck by those languages.

    • #24466
      TTewell
      Participant

      I figured I’d get some people who say that learning it just to say that you know it is a bad idea.  I want to learn it because I know that I’ll need it at some point down the line.  And it would add to my versatility.  Right now I have a strong understanding of TCP/IP, servers, operating systems, and cisco devices.  Call me crazy but I don’t think adding another dimension to my skill set is a bad idea, especially in these economic times.

    • #24467
      mohsinhafeez
      Participant

      Hey people, Hope you are doing good, my name is Mohsin Hafeez, just completed CCNA, now i want to learn a programming language. I have read the posts here and the information is really good, you guys are doing a great job. So you people think I should start learning python now???

    • #24468
      mohsinhafeez
      Participant

      I have already started downloading video’s of python, CBT python, from Demonoid, I think I have an invite, if someone wants an account then let me know, i can send you an invite.

    • #24469
      Don Donzal
      Keymaster

      Welcome to EH-Net and thanks for the compliment. Without a doubt… start learning Python now.  ;D

      Looking forward to your contributions to our community as you learn,
      Don

    • #24470
      hayabusa
      Participant

      @UNIX wrote:

      Easy ones to learn or start with are Visual Basic, .NET languages and Python. When you want to work in the network field a scripting language such as Python will not be a bad choice but when you aim to be more in the security field you may have often to program tools by yourself where you might get stuck by those languages.

      As I read this, it looked like you mean that Python is NOT good for security programming?  I hope I misread…  (Python is the driving force behind Immunity CANVAS, as well as many other tools.)

      My vote goes to Python or Ruby, altough, from my learning, I found Python a bit easier, from the start.  As someone else had noted, though, once you truly understand a language, others come more easily, as it’s more about specific syntax and API’s, when you change languages.

      Good luck!

    • #24471
      SynJunkie
      Participant

      I’ll probably get flamed for this but have you thought about PowerShell?  It’s just about to have Version 2 released and pretty soon it will be default on all new Windows OS’s replacing good ol’ Cmd.exe. 

      I think of it like this, when I get a shell on a box at the moment I need to know my Command Line Kung Fu,  well in a couple of years that Kung Fu is going to be all PowerShell Fu.  And I’ll tell you this, there isn’t much you can’t do with it.

      Just my thoughts anyway.

      Syn

    • #24472
      Jhaddix
      Participant

      This is what i see most:

      C – Learning/Knowing C is the best way to know the machine inside and out, including how to exploit it.

      Perl – Most hacking tools are written in perl or python

      Python -Most hacking tools are written in perl or python

      Ruby – Metasploit development is in Ruby

      BASH and CMD.exe – learning your way around the command lines saves you valuable time during post exploitation or incident handling, depending on what you do

      Powershell – Quickly becoming a replacement for scritping tasks that would usually take multiple convoluted commands in cmd.exe and builds in bash commands as well

    • #24473
      UNIX
      Participant

      @Hayabusa0194 wrote:

      As I read this, it looked like you mean that Python is NOT good for security programming?  I hope I misread…  (Python is the driving force behind Immunity CANVAS, as well as many other tools.)

      My vote goes to Python or Ruby, altough, from my learning, I found Python a bit easier, from the start.  As someone else had noted, though, once you truly understand a language, others come more easily, as it’s more about specific syntax and API’s, when you change languages.

      Good luck!

      Maybe it was a little hard to understand what I meant because of language difficulties, sorry.
      I really like Python and have to program in it by myself a lot and not only security related stuff. I think it is important for a skilled pentester to know at least one scripting language as it can help and ease many tasks.
      However, in my opinion there are some things where python (and similar languages) are not the best choice and ‘lacking’ a little bit of power/ control.

    • #24474
      RoleReversal
      Participant

      Not wanting to take this too far off topic, but I’d second Synjunkie and Jhaddix advice regarding powershell; in the future you’re going to at least need a basic knowledge of it’s fundementals.

      Powershell was a recent topic presented by Jonathan Nobleat a SuperMondays gathering, the videoof the presentation may be a good way to spend a few minutes this Friday afternoon to get a passing familiarity of PowerShell’s abilities.

      I now return you to you’re previously scheduled programming language holy war…

    • #24475
      mohsinhafeez
      Participant

      Hey, thanks Don. One more question, which certification do you think i should do now?? I was thinking about CCNA security. What do you suggest?? others please do help me with your advice. Thank You.

    • #24476
      mohsinhafeez
      Participant

      I am a fresher, do i need work experience to do pursue CCNA Security??

    • #24477
      BillV
      Participant

      @mohsinhafeez wrote:

      I am a fresher, do i need work experience to do pursue CCNA Security??

      No, I don’t think there is an experience requirement but I do believe you need CCNA first.

    • #24478
      mohsinhafeez
      Participant

      Yes BillV, I have completed CCNA, now I want to pursue CCNA Security and then CCSP, any suggestions?? I want to get into the field of network security. Thank You.

Viewing 23 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?