To hear Typesafe tell it, the Scala programming language is about to join the ranks of top-tier development tools such as Java, C++, Ruby, and PHP. A new Scala plugin for the Eclipse integrated development environment (IDE) should help pave the way.
The Scala software stack attacks two sticky problems for software developers. The Scala language aims to make it easier to write code for multiple cores, and the Akka middleware attempts to ease the creation of applications that run across multiple servers.
A third piece, a Ruby-on-Rails-style framework called Play, makes development more productive and fun than is usually the case in Java, said Donald Fischer, CEO of Typesafe, the startup charged with promoting and supporting the stack.
The ability to better automate programming for multi-core chips and distributed servers is a key criterion for developing cloud applications that scale up big time.
Recapping Scala history
Scala was initially developed by Martin Odersky, who wrote the original Java compiler for Sun Microsystems. “He did [the compiler] in 2000 as part of making Java better. Then he handed it off to Sun and turned to making a better Java. That’s the genesis of Scala,” Fischer said.
Scala is used by some pretty big names in web infrastructure: Twitter, LinkedIn, and Yammer for key parts of their infrastructure. There was a ruckus last month when an email between a Yammer employee and Typesafe leaked that seemed to indicate that the company was pulling back from Scala use. Yammer clarified the matter in a subsequent blog post.
Typesafe, Menlo Park, CA., was founded earlier this year with $3 million funding from Greylock Partners.
Getting beyond those awkward years
One thing still lacking for Scala, an eight-year-old programming language that runs on the Java Virtual Machine (JVM), is that some of its ancillary tools remain a “little raw,” Fischer acknowledged.
“The support for Eclipse wasn’t all cooked. With 2.0, working with the Scala community, we’ve smoothed out the rough edges,” Fischer said. Eclipse is the IDE of choice for the vast majority of Java developers, so smooth integration with it is key for any tool targeting that constituency.
The Scala IDE for Eclipse 2.0 adds automatic type-checking to ping programmers of errors before they build the code. There is also better dependency tracking between source files.
There is anecdotal evidence to back up Fischer’s contention that Scala is outgrowing its awkward years: the community and number of projects is growing, as evidenced by stats on Github and other sources.
“We think there’s one Scala job for every 100 Java jobs advertised,” said Fischer. “That sounds small, but 1 percent of 10 million is pretty good.” (The 10 million number is Oracle’s estimate of the Java programmer population.) This is impressive because Scala has only been around since 2003. Fischer said the number of Scala jobs has tripled in the past year.
A quick check of Indeed.com finds that there are 404 listings when “Scala developer” is the search term compared to 44,769 for “Java developer” and 5,841 for Ruby developer.
As the demand for scalable and capable cloud applications continues to grow, it’s likely that the demand for capable — and polished — development tools will mushroom as well.