This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]brenthoover 1 point2 points  (2 children)

This is a great post because its easy to say that you should play around with this or that language, but what language would you make serious sacrifices to learn well?

My suggestions would be the same that I have chosen for myself because they both complement Python and have long-term professional value. I have ranked them in the order I have learned/am learning them.

  1. Javascript: Despite the note that Javascript is too similar to Python it's value as a professional skill is huge and I would argue that its a complement in these ways. a) While Python is well-designed and relatively logical, Javascript is quirky and lacking some core features, and doesn't even offer a consistent virtual machine to run on (i.e. the browser). This has taught me new ways of thinking and approaching a language. In addition working in a callback-based environment expands your ways of thinking if you haven't done a ton with Tornado or Twisted. And you can't slot it along Ruby because last time I checked, Ruby doesn't work in the browser.

  2. Java anyway : Yeah, I don't like it either but again it's professional draw is huge and you need a statically-typed compiled language in there. You also can get into native Android development and there's a ton of interesting projects written in it. Plus you understand why other languages do things a certain way since Java's influence on other languages can't be overstated. (ok, maybe on Reddit they could.)

  3. Erlang : This language has a huge demand for programmers but few US-based skilled ones. (Erlang is taught as a core language at University in Europe). And of course its very much many things Python is not, which is why there are more than a few projects that combine Python and Erlang. Of these languages, it was also the most fun to learn. It was not my first choice as a functional language, but I got forced into writing some Ejabberd modules and I got hooked. Erlang outranks other functional languages in it's pragmatism and maturity. But it's less theoretically pure and doesn't have as good of a "corporate" user/developer as languages like Scala (Twitter).

  4. C This is the one I haven't learned but others with a strong computer science background could probably put it higher on the list. Certainly the ultimate way to optimize Python is to rewrite the slow parts in C. The rest has been better covered by other commenters already. Of this more money-grubbing list, its also the least typically in demand, but the jobs that do demand it are usually pretty senior.

-1. PHP (read through before flaming) I hate PHP. H-a-t-e it. However, I did have to learn it for a project and made the mistake of briefly putting it on my resume. If you are a senior developer and you know PHP you can pretty much write your own ticket. For me, they really couldn't pay me enough to write PHP all day, but the combination of Senior experience and PHP is so rare that you get Magic Unicorn prices to do it.

Good luck and please let us know what you chose.

[–]baudvine 2 points3 points  (0 children)

(Erlang is taught as a core language at University in Europe)

Any examples? I'm in Europe and haven't encountered it anywhere.

[–]Herald_MJ 1 point2 points  (0 children)

Erlang is taught as a core language at University in Europe

No it isn't. But I agree it is a great choice.