I’m currently reading Programming in Scala. There’s been a lot of buzz lately about functional programming and I thought I’d spend some time with one of these functional languages. I originally started looking at Erlang due to the great things I’ve read about how well Erlang scales and its failover capabilities. Then I came across Scala and liked that it is a hybrid imperative/functional language which compiles down to Java bytecode and uses Java libraries. I don’t have time right now to dive into learning a completely new language.
My primary interest is concurrent programming using Actors. I’ve been writing a lot of concurrent applications at work in Java using the concurrent libraries and am seeking an alternative solution. I think Scala provides a concurrency platform that can decrease my development time, increase performance and makes things a lot easier in my applications. Since we are a Java shop the fact that I can call Scala from Java and vice versa is very attractive.
I just started getting into this book but it has been very interesting so far. In a few weeks I expect to start posting some of the interesting tid bits I find about this language on my technical blog. I think it’s imperative to every programmers career to have experience or atleast general knowledge of a functional language. If you’re a Java developer I think Scala is a good fit, F# for the .NET developers and Erlang for the purist. Of course there are others but those are the ones that I have seen get a lot of mention lately.