Things I like about Scala

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.


No Comments