Friday, February 11, 2011

How to choose the next programming language to learn?

I believe that this question has been appearing in the brains very often.
Note: I'm writing from Java developer point of view.

How to solve this dilemma? I said "dilemma" because it's investment in the new knowledge. And every new knowledge should bring some benefits. The wrong investment is equal to waste of your time.

As a Java developer I think I should invest outside the JVM. It's even more important in nowadays. Oracle is more aggressive then Sun was. So, investment in non-JVM "platform"/language can protect the own future.

I don't want to write about some definite language. It's not important right now. The most important thing is to learn something new which is totally separated from JVM.

Someone can say: "Try Groovy, Scala or Clojure". Good point. But,  it's JVM (even if they are "beautiful" and interesting choices). One exception: you can have a possibility to use these languages on the job project. In that case it's ok. Just pick the right one and start the party. In other case avoid them.

There is NO right answer. Just define your own philosophy (language to learn) and keep it alive.