Monday, April 4, 2011

Guardian team moves to Scala

This came through my twitter stream via @JVMNewsBot:  http://www.infoq.com/articles/guardian_scala.  It is a great article about the switch from Java to Scala undertaken by the development team at The Guardian.  It sounds like it was a smooth transition with a few minor bumps.  They started with test conversion since it did not impact production code directly, then moved on to other areas of their code.

Favorite quotes:

  • After about four weeks of writing just the tests in Scala, we got fed up
    of having to write the main code in Java, and decided to convert
    the whole lot to Scala.
  • One of the things we compare learning Scala against is moving to a
    different platform like Python/Django or Ruby on Rails. With Scala,
    at least 75% of what you're working with is the same as in Java.
    You can use the same libraries and IDE, the way you package jars and
    wars is the same, your runtime environment and runtime
    characteristics are the same. A good Java developer can learn to
    write Java-style code in Scala in a day, then they learn the power of
    closures and implicit conversions and very soon they're more
    productive than they were in Java.
  • I tend to find that when reading an individual line of code in Scala it
    sometimes takes a little longer to understand how it's working, but
    this is more than made up for by the drastic reduction in the
    number of lines of code.
  • We primarily recruit good software developers, rather than looking
    specifically for Scala developers. We tend to find that good web
    software developers are polyglot in outlook and have often at least
    played with Groovy, Scala, Clojure, Ruby or Python. Such people have
    usually relished the opportunity to work with Scala.
  • We've found that Scala has enabled us to deliver things faster with less
    code. It's reinvigorated the team. We'll continue to use the right
    tool for the job whether that be Scala, Python, .NET, PHP or Bash.

    In the last six months, all of the new JVM-based projects have used
    Scala and none have selected Java. I can't see us starting any new
    project in Java now, especially given the disappointing feature set
    and timeframe of Java 7.

Technorati Tags:

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.