The Big Three – Scala, Clojure and Groovy

There have recently been two large JVM language polls (poll1, poll2). These polls have yielded some very interesting data. The results of the two polls differ due to differences between the audiences from which the voters were drawn. Clojure fared particularly well (ahead of Scala and Groovy) in the poll I ran due to many of the voters coming from the LISP friendly HackerNews community. The DZone poll which drew a slightly larger number of voters (primarily Java devs. from the dzone community) favoured Groovy, with Scala in second place, followed by Clojure. One thing which stands out in the results of both polls is the clear separation between “The Big Three” JVM languages (Scala, Clojure and Groovy) and the rest. This “Tier One” group represents alternative JVM languages which have garnered the most support among developers.

In order to get a better picture of popularity spanning both polls I combined the results and plotted a chart. “The Big Three” and JRuby (an honorable mention) are included in the chart. In the combined vote counts Scala, Clojure and Groovy are closely matched:
"The Big Three" JVM languages

Popularity amongst developers does not always necessarily translate directly into commercial adoption. Indeed.com draws its data from a very large number of job websites and as such is an ideal source of data regarding commercial adoption. Running The Big Three languages through their job trends system yields some interesting results:the big three commercial adoption
In the data both Groovy and Scala are showing signs of significant commercial adoption, with Clojure trailing. This is consistent with the DZone poll results and adds support to my theory that Clojure support draws heavily from hobbyists and lisp hackers rather than commercial organizations. Groovy comes out on top in this chart. The big three contains two dynamically typed languages (Groovy, Clojure) and one statically typed language (Scala).

The most encouraging outcome of the last few years has been the flourishing ecosystem around new JVM languages. A decade ago the CLR was being proclaimed as *the* runtime to support multiples languages. Thanks to the community the JVM is looking more and more like the preferred target for new languages, innovation and research.

About these ads

6 thoughts on “The Big Three – Scala, Clojure and Groovy

  1. It’s worth pointing out that while Clojure, Scala, and Groovy devs might read java.dzone, Ruby developers surely do not. A few may have seen my tweet of the poll, but in general this is only a measure of which JVM languages Java-centric developers are using.

    Since you post an indeed graph, I post two of my own:

    http://www.indeed.com/jobtrends?q=scala%2C+clojure%2C+groovy%2C+jruby&l=

    Here, JRuby and Clojure have roughly the same numbers, with JRuby a bit ahead recently. And another:

    http://www.indeed.com/jobtrends?q=scala%2C+clojure%2C+groovy%2C+ruby&l=

    Ruby squashes the others into oblivion, with many times more postings than the others *combined*. Therein lies the real promise of JRuby, since a Ruby dev is potentially a JRuby dev.

    Full disclosure: I’m a JRuby dev.

    • Excellent points. I am familiar with the Ruby and JRuby stats on indeed.com. The focus of my post was on alternative JVM languages specifically. I nearly included JRuby in the graph but didn’t think it would be fair to JRuby as you have previously pointed out that it is just a Ruby implementation, and therefore such a graph would have under-represented JRuby adoption. Including vanilla Ruby in the stats also wouldn’t have been accurate as most Ruby devs I know don’t target JRuby, but rather MRI or 1.9.x (but many have tested the waters with JRuby).

      What would be a good forum to post to in order to draw more J/Ruby devs to such a poll?

  2. Keep in mind that Groovy and Scala were started around 2003 or even earlier. Clojure was released to the public in late 2007. While Groovy and Scala adoption is higher, I personally don’t know Clojure “hobbyists”. Everyone I know using Clojure uses it for work projects of some kind.

  3. Nice analysis! I’m one of the DZone curators and we were inspired to do a poll with our audience in addition to your poll which got a lot of HN folks. Glad our data helped provide another lens for this important question in the Java community. Let me know if you ever want to collaborate on anything else. We admire your blog!

    Mitch Pronschinske
    Senior Curator,
    DZone

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s