Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

First Language Acquisition for Beginner Hackers

Options
  • 24-11-2012 12:56am
    #1
    Registered Users Posts: 138 ✭✭


    I'm currently a 2nd year mechanical engineering student in ITTD, and as part of broadening out my skill set in the next two years I'm considering seriously studying a high level programming language that would give me a good base, and that I could run its compiler on my laptop preferably for free

    Any reading I've done on this suggests Python is 'easy' in the sense that its straightforward and that its open source, otherwise I read Paul Graham essays quite a lot, he speaks very highly of Lisp though its not widely known and lowly of others such as Java though its in high demand.

    Has anyone any thoughts on this?


Comments

  • Registered Users Posts: 92 ✭✭jgh_


    Lisp is a functional language and you might not find it terribly interesting or useful unless you wish to do a load of mathematics and not much else with it (sorry FP guys, I know some of you like to talk about FP being good for regular software, but it isn't really - at least not without breaking out of 'pure FP')

    python is pretty easy and open source. It would be a good choice as a first programming language.


  • Registered Users Posts: 7,231 ✭✭✭Fad


    jgh_ wrote: »
    Lisp is a functional language and you might not find it terribly interesting or useful unless you wish to do a load of mathematics and not much else with it (sorry FP guys, I know some of you like to talk about FP being good for regular software, but it isn't really - at least not without breaking out of 'pure FP')

    python is pretty easy and open source. It would be a good choice as a first programming language.

    I wouldn't suggest LISP as a first language because I'd see anyone beginning getting frustrated with it not really being immediately useful, but I dont think the point of being taught/learning functional programming is to constantly program in that paradigm and never anything else...

    Suggestions for things easy to get up and running in: Ruby, Javascript & Python.

    You'll get people suggesting C and Java, they're fine but it's probably a lot easier to get the nuts and bolts of programming through a scripting language like the ones above and then, if you want to, move on to C or Java or whatever else.


  • Registered Users Posts: 138 ✭✭CillianL


    Sound for the replies, I appreciate it.

    I've done some Mathlab in college but I didn't find it very interesting as we were only using it for calculation scripts and plotting functions so it seems to be a rather specialized than general purpose language but again maybe that's my ignorance of the subject.


  • Registered Users Posts: 2,021 ✭✭✭ChRoMe


    Fad wrote: »
    I wouldn't suggest LISP as a first language because I'd see anyone beginning getting frustrated with it not really being immediately useful, but I dont think the point of being taught/learning functional programming is to constantly program in that paradigm and never anything else...

    Suggestions for things easy to get up and running in: Ruby, Javascript & Python.

    You'll get people suggesting C and Java, they're fine but it's probably a lot easier to get the nuts and bolts of programming through a scripting language like the ones above and then, if you want to, move on to C or Java or whatever else.

    Ignore suggestions of C, thats crazy talk! The person must really dislike you if they suggest that ;)

    Personally I dont think that Javascript is a good suggestion considering your domain, not much "hacking" can be done with it considering its confined to client side web pages. Python would be an excellent choice and there is a large amount of free resources available.

    In essence I agree with Fad, learn Python and then if you want to get more serious about it, move on to Java.


  • Registered Users Posts: 92 ✭✭jgh_


    Alright I'll defend C then.

    It's a fairly simple language with a slightly different preprocessor language tacked onto it. You get to learn about memory management and pointers and types and all kinda of cool low-level stuff.

    Yes it's easy to end up with memory leaks and buffer overruns and stack overflows and segmentation faults and all kinds of other messy stuff that higher languages shield you from. But it's one of the most popular, versatile, and prolific languages in the world.

    I wouldn't recommend it as a first programming language unless you love solving puzzles, because I guarantee you will spend some days puzzling over why data has been corrupted by some unseen force only to discover you forgot to put a null at the end of a string.

    I love C


  • Advertisement
  • Registered Users Posts: 1,109 ✭✭✭Skrynesaver


    As a Mechanical engineer embedded programmable devices may enter your life in the near future and so while C is the language it's probably not the best first language, Python is an excellent first choice, and if you want to move on to compiled languages learn Pascal as a pre-cursor to C. It's similar but enforces good practice.


  • Registered Users Posts: 2,022 ✭✭✭Colonel Panic


    Ugh, this question gets asked so much and it's always the same ****. There needs to be an objective "What language?" sticky or something.

    To the OP, you're an Engineer. Don't learn a language to learn a language, use what fits. Do you have a project in mind? Any interests that require programming?

    When you call yourself a beginner hacker, that refers to lower level stuff where the code you write has a direct relationship with the hardware you are executing it on. Does that appeal to you?


Advertisement