Ask HN: 1 Programming Language to Add to my Skills?
I have some free time from now until the new year, and am wondering from the community, if you were to learn 1 new programming language right now, with a focus on how important the language will be over the next 3 years, what would you learn?
Assume that you are very experienced in the "common" languages like C++, Java, and PHP and want to learn one of the "up and coming" languages that are becoming more important. Assume also you want to become a 7/10 on the new language, and be able to apply to jobs in that language come 2011.
Thanks!
12 comments
[ 3.6 ms ] story [ 39.3 ms ] threadIf you're a front-end developer then jQuery. If you're a mobile guy, then objective-C. If you're a backend developer, then erlang.
EDIT: And one more thing occurred to me: With NoSQL loosing popularity currently, I think having good SQL skills will be of more value once again. And, truly efficient DB management (and design) cannot be done from some ORM alone; designing well-formed Schemas and writing good SQL (or knowing how to use an ORM to produce the "right" SQL) is an art that should not be underestimated.
Perhaps take a dive into iPhone (Obj-C) or Android development (Java)?
You could also consider going for something totally different -- most of my experience lies in C based languages and I've noticed that picking up another one of those languages is usually not that hard and thus less interesting than trying out for instance Haskell, Erlang or Ruby.
Personally I'd recommend python to anyone to pick up and run with, see if they like it and carry on if they do. Having said that, if it's coin you're after with your current skillset I imagine that C sharp or a .NET-based language may well be more appropriate for you.
In short: Learn Python. But don't do it to get a job. Do it to get better at the job you have.
Do you want to do science and R&D? Then maybe Matlab, R, OpenCL/Cuda? Finance? Maybe F#. Big Data and statistics? R, Hive, Scope, Pig, Cascading, DryadLinq, Clojure. Web front-end? Javascript. Web back-end? Javascript, Python or Ruby. Mobile? Objective-C or MonoTouch. Games? Lua. Etc, etc.
However, Go is still very young and being actively developed so it's probably premature to add as a marketable skill to your resume.
(Plus, they're easy and stupid productive)
The book covers Ruby, Io, Prolog, Scala, Erlang, Clojure and Haskell, spending presumably, a week on each. According to the book description, "you'll explore the most critical programming models of our time". This would seem to be a good way to learn about a lot of different programming languages, in a relatively short amount of time. Of course, if what you want is something that will be immediately useful on your resume, this may not be of interest to you right now.
http://github.com/languages
http://news.ycombinator.com/item?id=1843083
http://therighttool.hammerprinciple.com/
http://www.hackernewsers.com/skills/index.html
http://www.reddit.com/help/faqs/programming#Whatlanguageredd...