me, akka and scala

I have been learning Scala recently, also took one Coursera course. I am overly impressed with Scala to a level that I only want to use Scala, every where. I want to Scalanize everything that is complex. To add more, I am inoculating myself with a Scala doze every now and then.

So, after doing some coding, writing some Java-like Scala, I am gradually moving towards functional programming way of thinking. I am converting all my Java projects into Scala. A very striking thing that appeared to me was that I was writing very few lines of code, not thinking about language details but converting my ideas into programs which would be as elegant as their Java/C++ counterparts but very easy to maintain and simple, performing same complex logic. Ok, enough said. Lets get to back to business.

Recently, I came across akka, which is a middle-ware for building highly concurrent, distributed and fault tolerant application over JVM. I was really impressed with akka, and especially because it supported Scala out of box. In fact, Scala code for writing distributed systems is way more succinct than Java, without caring about all the synchronization mess with threads. The Actor model, which akka employs is just too awesome.  Its not that only a few contrived use-cases allow actor model to work, but there are myriad of them. Go visit akka site for a complete listing of it. With akka and scala its just becomes a lot more fun.

I tried writing a word count program using akka and scala. You can find its source with some comments here on github.