I've been investing time in a few different technologies and programming languages lately. One of the languages that has surprised me is Scala. I'd heard about it, even took a peek at it many years ago, and promptly went on to other things. However, after meeting with Jeremy Pierre (noisycode.com/) from HootSuite, I decided to take another look at it.
Scala has come a long way, and it seems to be poised for some real growth. I began with the usual, a quick google, wandering through some scala dedicated sites, StackOverflow and Reddit posts. I came across a course on Coursera (already signed up), and have begun reading Cay Horstmann's Scala for the Impatient.
Scala makes you wish this is what Java had turned into. Scala runs on top of the JVM, so it's doing what the JVM + Java would be capable of, if only Java had gone towards this path.
I think what has surprised me most about Scala so far, are the parts that seem like Perl to me. I know, shocking right? Scala similar to Perl? Scala has much higher information density that Java - you get more done per line of code. I always found Perl to have a high information density too. Quite often, Scala will infer what 'type' you want. You can declare values as lazy (which is one of the features the Perl Moose framework provides)
I've only just begun with Scala, and my views may very well change as I learn more about it. For now, it seems like an interesting (but growing) niche. There is a Vancouver meetup group - Vancouver Scala. Hopefully there will be some meetups and presentations there soon.