I'm excited about Scala (see Scaling the Cliffs to Scala ), one of the new Object-Fuctional languages that have emerged recently. So, what excites me? Let's list a few cool features.
Everything is an object.
Scala functions are really and truly first-class objects.
Let's not forget that Scala gives us Closures!
Mixins really rock! They bridge the gap between multiply inheriting from interfaces and multiply inheriting from classes.
Traits are like Java interfaces, but with implementations (behavior). They provide a mixin composition mechanism I haven't had in other languages.
Scala pays lots of attention to properly using mutability and immutability. From having declarations of val vs. var to Value Objects and "side-effect free" functions, Scala provides the underlying support necessary to help us with multi-threading, multicore processing, and multi-processing.
Scala's implementation of concurrency and its Actor Framework make it one of the most interesting new languages around.
I would recommend a study of Scala just for these benefits alone. They're largely why I decided to use Scala for development of Chronoscope, the product on which I'm working at the moment.
View Complete Post