Java is great and I have been doing it for years. Why should I care about things like Scala and Akka?
The short answer could be:
- Scala is the future
- Akka is the killer framework
Scala is a language that runs on top of the JVM with a better object orientation compared to Java and with functional programming as well. The OO part of the language is pretty easy to learn for a Java developer, but the functional stuff is trickier. Scala has a dedicated community and the language is predicted to become a really strong alternative to Java if Oracle continues to alienate the Java community. Since Scala interacts seamlessly with Java and Java almost seamlessly with Scala both languages can be mixed in the same application.
Akka is a library in Scala aimed at robust and scalable parallel programming. Instead of the old thread model with synchronization and shared memory you have actors (active objects) and messages. The actor model is present in core Scala, but Akka shows how it perhaps should have been done from the start. The founders of Scala and Akka have recently joined forces in a new company.
Since our computer hardware gets more and more cores (ability to do parallel processing) every year and The Cloud consist of an almost infinite number of boxes it is interesting with a programming model for parallel computing that really scales and is robust. That’s why Akka is interesting.
I for one, am looking forward to learning more about Scala and Akka and to using them in real commercial projects. What is the next thing you plan to learn?