top | item 363094

4 Languages you should learn in 2009

34 points| BigCanOfTuna | 17 years ago |anassina.com | reply

The Pragmatic Programmer Books suggests you learn a new language every year. I suggest you learn 4 that will be beneficial to your career in 2009.

38 comments

order
[+] schtog|17 years ago|reply
"It is one of two official languages used at Google and it does power a lot of their most profitable products."

One of 2? I thought 4: Java, Python, C++, Javascript.

And does it really power a lot of their most profitable products? Like which?

(Not bashing here, Python is my main language and I love it.)

[+] bdotdub|17 years ago|reply
Haha I thought Google has only one profitable product, AdSense :)

That said, a number of their high profile apps are in Python, most notably YouTube and App Engine.

[+] jimbokun|17 years ago|reply
My understanding is that Python is their go-to scripting language, for tying together all their low level tools that run in C++ and Java.
[+] whacked_new|17 years ago|reply
To be blunt and disrespectful, after seeing the author confusing Cantonese and Mandarin, I am quite skeptical of the assertions.
[+] jwilliams|17 years ago|reply
Not sure I get the logic behind the line: With the economic slow down, countries with emerging technology sectors and talented, well educated developers will be getting a second look as a means of cutting applicationd(sic) development costs.

Surely with the economic slowdown developers in "un-emerging" economies will be more competitive?

[+] cstejerean|17 years ago|reply
I recommend checking out Clojure instead of Erlang.
[+] jimbokun|17 years ago|reply
Clojure comes close to answering almost all of my complaints with other languages.

- The mature libraries and deployment environment of the JVM. So your code runs fast, runs almost anywhere, and a lot of work is already done for you.

- Data literals for arrays and maps. One of the shortcomings of Common Lisp. And catches up with (surpasses?) Python/Ruby/Javascript in this regard.

- ISeq interface means that a single set of functions works across all collection types. (Common Lisp has an amazing array of functions for working on lists, but hit and miss for other collection types.)

- Lisp 1. I know this is an aesthetic thing, but I much prefer how the code looks than Lisp 2's.

- Steals a lot of arc's good ideas, like abbreviated syntax for function literals and semantics for arrays/maps in function position.

- Common Lisp style macros. Just more intuitive, for me, than the hygienic type.

- Interesting place in the space of computer programming languages. Dynamic typing, with an emphasis on programming to interfaces, macros, first class functions, immutable data structures, and built in mechanisms to support parallel programming. I don't know of any other language that chooses this set of tradeoffs.

[+] gaius|17 years ago|reply
Erlang is a great language, but I've never managed to do any useful work with it. Very few people are actually working on things that are othogonal to telecom switches. Single-paradigm languages will always be stuck in niches (this isn't necessarily a bad thing).
[+] vegai|17 years ago|reply
Haskell instead of anything else. And then some Factor.

Mandarin is a nice touch. I'll try that. Indians, however, speak English pretty well -- even if their accent might take some getting used to.

[+] crabapple|17 years ago|reply
haskell is the only programming language that made me reconsider most of my assumptions. its not a tacked-on, hacked-on functional layer on something else, its mind-bending at a fundamental level. because haskell makes no comprimises, it also is showing some insane performance on multicore. its no mistake that the google mapreduce tutorials use haskell in some explanatory examples...

ten years from now, you will be dealing with a multicore world, and you will be using something that is conceptually tied to haskell. i see this as inevitable.

factor i have looked at again and again, worked through some trivial problems...not sure i will ever "get" it. i would brute-force understanding it were it to take off.

[+] sherl0ck|17 years ago|reply
I think in 2009, I just wanna dig deeper about python.
[+] truebosko|17 years ago|reply
Same. I only got into Python this year, but I definitely want to say I'm an expert by next year. Of course, won't ever stop learning new tricks even as an expert :)
[+] chris11|17 years ago|reply
I'm surprised they didn't mention arabic with mandarin and russian at the end.
[+] tapostrophemo|17 years ago|reply
I just took an informal survey amongst my teammates (including Arabic in the list), and "three out of four" developers said: Mandarin.

The interesting thing is that on my team, two are from Russia, one from China, one from Lebanon, one from the UK, and one from India. The other two are Americans.

[+] gaius|17 years ago|reply
What significant technical work is being done in Arabic? (Note, I didn't say "in Arab countries"; the point is that they're using English).
[+] callmeed|17 years ago|reply
Reminds me to break out my russian books ... I'm getting rusty
[+] vesan|17 years ago|reply
I recommend checking out Ruby instead of Python.
[+] razzmataz|17 years ago|reply
Out of curiosity, could you elucidate why?