A Programmer’s New Year’s Resolution for 2010: Learning Scala

In a world of constant change and ever increasing speed of innovation as a programmer, you might sit back and think about how to prepare for those changes and increase your career options. You might also look forward to a mental distraction from the daily Java/Ruby/PHP routine, or your inner geek is just looking for the next big thing.

So without further ado and fanboy-ing here’s why I want to do it.

I first heard of Scala about an year ago in an article in the German Java Magazin. What caught my attention was that it was designed by a) a Swiss researcher (awakening to my national pride ;) ) and b) that Martin Odersky wrote the reference compiler for Java 1.5, and c) that the Twitter (messaging) backend at that time had just moved to Scala.

Scala is a general purpose programming language, statically typed and integrates features of object-oriented and functional languages.

Some properties Scala offers:

  • Runs on JVM: Scala is byte code compatible with Java and can therefore be used in combination with existing Java Libraries.
  • Combines functional with oo: Scala can take advantage of best of both worlds
  • Eases concurrency, scalablility: A certain amount of functional programming is inevitable, if multicore computers should be used efficiently.
  • Reduces code size by 2-4 compared to Java: Less code tends to require less work writing and maintaining it and also tends to have fewer defaults.
  • Particular use cases include Complex XML Processing, Concurrent programming, DSL

Within the TIOBE index Scala is at #33. There’s a lot of controversy if scala will be the next big thing. Some very well rounded arguments pro and contra. But as an old saying goes in German “Probieren geht über studieren” I choose to set off trying it myself for a private project or two. Stay tuned for the learning scala series.

This entry was posted in Distractions, programming languages and tagged . Bookmark the permalink. Both comments and trackbacks are currently closed.