play!ing with scala

I decided to try my hand at learning Scala.  It’s supposedly the “next big JVM language” and the “Java killer” if you believe the hype machine.  Personally, I don’t think that’s true.  I think the next big JVM language that replaces Java will be a future Java.  If there’s one thing Oracle knows how to do well, it’s making money, and that can’t be bad for the future of Java.

That being said, it appears like it will be a few more years before we can get any meaningful improvements to the Java language, such as language support for properties, better type inference, and closures.  So for personal projects I find my eyes wandering away from the Java realm towards more recent developments like Scala or Fantom.  A part of me actually likes the Fantom language better, because of the pragmatic, boring by design, philosophy behind the language.  But Scala seems to be more mature, so — for the moment — I’ve decided to take a stab at learning it instead.

I’ve been using a self-contained Play! environment that the makers of the Play! framework released.  This runs a web environment on your local machine that makes it very easy experiment with the language: just edit a source file and hit refresh and to see the results.

I’ve also found that the Play! framework is an ideal way to play around with the language, and it made it dead simple to get a webapp up on Google App Engine written in the language.  I’ll talk about that webapp a little more in my next post.