Over the last years I have been trying to learn one new cool language, but because of my lack of consistency I've been jumping constantly between Erlang, Go and Scala, reading some tutorials, writting some examples... but never getting a real deep understanding of any of them.
It is always good to do plans for the new year, I promise to go for running much more and to read more non technical books, so this year I really want to master one of those languages because I think it is healthy to learn new things, because it is usually a lot of fun and because I think I need it to improve the way I develop software at work.
By the way, I recommend the book Seven Languages on Seven Weeks if you are trying to make a decision like mine.
So, which one to choose.... (spoiler, I have decided to learn Scala).. these are my arguments...
Go is very interesting but who else apart of Google is using Go for serious projects? In addition it looks like a mixture of python and C and I want something different.
Erlang is really cool and probably the best language/framework for the type of applications I usually build as part of my daily job. But it is not strongly typed, there are no good tools and doc and it is very difficult to engage people on it. I tried for the last two months and I give up.
Scala is slightly less cool because it has some Java inheritance, but because of that it is the easier one to introduce in a Java organization. The language is modern (support for functional programming is basic) and expressive and combined with Akka framework you are close to Erlang features.
So, let's go, hopefully next post will be on some cool Scala feature.