Ask HN: Recommend first programming language to master (options included)
I have coded a game in Scheme, improved it in Common Lisp, ported it to Emacs Lisp, almost got it working in Perl. I barely know C, have seen Haskell (got swamped by types), understand the essential ideology behind Smalltalk, created two more small games in Forth, and don't like C++, Java, Ruby, and Python for various reasons. I also have added 5 to 10 in 6502 assembly.
My problem is that I wander much too often. (I have also toyed with Icon, x86 assembly, OCaml, SML, Fortran, and shell, awk, sed, grep) I really like Lisp, but I think I should probably get a good grip on the lower rungs first. Could HN suggest a short list (or a single language) to master first? P.S. if its any help, I use Arch Linux, but am thinking of moving to FreeBSD in the next few months.
7 comments
[ 2.6 ms ] story [ 23.6 ms ] threadHowever, looking at what you've done so far, you could do worse than getting a good mastery of C. It's a descent "smart assembler", it's not all that big as a language (plus the minimum of the standard library), it's good about teaching you concepts that are close to the machine and it's a common base for a lot of the higher level stuff that you've used or played with.
Find a project you're going to finish. One that's going to motivate you enough to go through all the work needed to build it and debug it. Then come back and ask us about languages.
Any language is great if you spend enough blood, sweat, and tears bending it to your will. No language will be good enough if you don't commit.
After this, every time you do something in another language, you'll be able to figure out exactly what is happening. Debugging will become second-nature, and you'll appreciate other languages more. :)
Obligatory BSD warning: http://xkcd.com/349/