This page is no longer maintained — Please continue to the home page at www.scala-lang.org

Scala - Popularity and Use Grow

The number of leading companies that are successfully using Scala for critical business applications has grown enormously. It is common knowledge that more companies like Twitter, LinkedIn, Foursquare, the Guardian, Morgan Stanley, Credit Suisse, UBS, HSBC and Trafigura are now using Scala. As a consequence, demand for Scala developers has grown dramatically while at the same time Scala has matured and spawned a solid support ecosystem. It's worth looking at some of the indicators to see how the world wide popularity and momentum continues to increase.

 

ThoughtWorks

In the January 2011 Technology Radar ThoughtWorks moved Scala into the 'Trial' category saying "We have witnessed great successes in the adoption of Scala. Consequently we have moved Scala into our Trial category". In July they position Scala moving towards the 'Adopt' category ahead of other emerging languages like Clojure and F#.
 

Community - Scala-Lang - Scala Days Conferences

Scala has a vibrant community that is still rapidly growing.

Three solid datapoint illustrate this growth, the visitors to this site, scala-lang.org, the participation at Scala Days conferences and user group activity.

Site visitors have grown from 25,000 to 130,000 visitors a month over the last two and a half years. In June this peaked at 170,000 visitors with the announcement of commercial support for Scala by Typesafe. While Scala downloads have grown from 6,000 to 30,000 a month in the same period, not including the dramatic growth in downloads from other sites like Maven Central and Scala-Tools typically used by production developers.

While Scala Days 2010, the first conference dedicated to the Scala, was attended by 160 people, the Scala Days 2011 conference attracted 280, at the same time more than doubling the commercial focused talks given.

And there are over 60 very active Scala user groups world wide.
 

Job Opportunity

Indeed.com gives a good picture of the United States Scala programming job postings numbers and the graph shows a factor of 10 growth over two years. Scanning the company advertising like VMWare, Hewlett Packard, or Foursquare give an insight into the number and variety of new companies investing in Scala skills.

An equivalent picture for the UK can be seen at itjobwatch. London is often considered a leading indicator for UK technology adoption. There, Scala ranks 23 in the category 'Programming languages' growing by a factor of 20 in the last two years and a factor of 4 last year. For every 30 Java jobs there is now 1 job needing Scala. A browse through the London companies advertising for people shows that there are really interesting Scala jobs at places like Morgan Stanley, UBS, zeebox and many other well known financial companies too. Check the job growth statistics.

If the current trend continues Scala jobs are set to quadrupled over the next year. So companies are looking for many more Scala programmers and as a developer being Scala capable it seems you can get you up to a 20% better salary.
 

Language Popularity Rankings

Various sources seem to rank Scala as being somewhere between the 13th and 29th most popular language while TIOBE curiously ranks it at 50 or more.

In September 2011 the team at Dataist.com used stackOverFlow questions and Projects on Github to position Scala as 13th.

While in April 2011 the group at langpop.com ranked Scala as 29th which represented a 'normalization' of a collection of ranking methods. These are drawn from things like search engine results, job ads, book mentions, and so on.
 

The curious case of TIOBE

TIOBE bases its popularity model on using a number of search engines with a standard structured search term +"languageX programming". So for Java this would be +"java programming" or Scala as +"scala programming". The results from the several search engines are weighted and combined to give the language ranking. The seemingly quite reasonable idea is that the different language communities use the phrase with a reported search frequency that is representational of the actual language popularity. Although others have attempted to point out some of the problems with the approach, for example, a while ago Tim Bunce blogged TIOBE or not TIOBE – “Lies, damned lies, and statistics”, the flaws still remain.

For the two languages, Haskell and Scala this uniform approach fails to accomodate developers everyday language usage. The Haskell and Scala communities are twice as likely to use the term "programming in Haskell" or "programming in Scala" than "Haskell programming" or "Scala programming" respectively. While in the Java community "Java programming" is used ten times more frequently than "programming in Java". If you try googling using the search terms +"languageX programming" and +"programming in languageX" you readily see this difference reflected in the search results.

Adding the two results together or taking the maximum value before creating the ranking would seem to give a ranking better tuned to the everyday language use by developers. Paul Jansens, the owner of the TIOBE index, acknowledges these problems and may well provide a solution in the future.

Meanwhile if we apply this correction then both Haskell and Scala would be expected to move up in the rankings to be somewhere beween 18 and 25, and be more consistent with the other methods of ranking the languages.

Ranking methods that use total Web searches will also have a tendency to seriously under rank current popularity for more recent languages compared to older ones. A language may now be unused but still have a high ranking based on the "Web memory" effect. The method ranks the language based on its accumulated mentions rather than a period snapshot.

So yes, for the long established languages TIOBE seems a reasonable indicator of popularity. Though, alas poor Yorick, as Tim points out, there are good reasons to believe that for emerging languages it is simply wrong or it should be taken with a pinch of salt. Or should we say a salt pinch?

Re: Scala - Popularity and Use Grow

Are you sure that HSBC really used the Scala language? The references I found on the web say that it is using the Scala digital signage!

Re: Scala - Popularity and Use Grow

 Scala Language is used at HSBC, confirmed by developers. 

Re: Scala - Popularity and Use Grow

With regard to the graph on Indeed.com, that's very interesting, but I suspect that it significantly underestimates the shift toward Scala.  Consider the UK Guardian: as I understand it, after a month of writing tests in Scala, they were so impressed that they decided to rewrite the product itself in Scala.  (And that was before 2.8!)  Did they immediately post reqs for a dozen Scala developers?  I sincerely doubt it -- I'd guess that most if not all of their Scala developers are their old Java developers who were handed the staircase book and happily learned a better language.

The point is that we should expect a language which

 - makes sense to use for the same kinds of apps as Java (e.g. large, concurrent server apps)

 - requires little infrastructure change for those already committed to the Java ecosystem

 - can be picked up easily by smart developers who already know Java

 - allows an incremental shift from Java rather than a complete rewrite

 - quickly makes developers more productive

to initially gain developers by converting existing in-house Java developers rather than by hiring new developers.

To a lesser extent this phenomenon is probably true of many other languages, so perhaps *all* of the numbers on Indeed.com should be taken with a grain of salt.  But I suspect that this "hiring from within" phenomenon is more common with Scala than with most languages for the above reasons -- Scala is a great incremental replacement for Java that leaves you needing *fewer* developers, not more, so hiring stats are potentially misleading.

That said, I do think the *slope* of the graph is interesting.  Just not the absolute numbers.

 

Re: Scala - Popularity and Use Grow

I think a pretty good indicator is the number of questions on stackoverflow. Java has currently 186,437 questions, Python 84,890, Ruby 35,543, Scala 6,988, Haskell 4,967, Groovy 3,252, F# 2,963 and Clojure 2,355. I think this shows clearly that TIOBE underestimates the popularity of Scala. Assuming that Zipf's law holds for programming languages and that stackoverflow is a good measure for popularity, Scala should have a rank around 27 given that Java is clearly rank 1.

Re: Scala - Popularity and Use Grow

StackOverflow is an interesting case as well.  If you look at the Java questions, some of them are indeed about the Java language.  Others are about the jvm -- garbage collection, compilation, classloading, command-line options, etc. -- or the tools -- javap, jarsigner, keytool, etc. -- or the ecosystem -- libraries, build tools, etc.  Some portion of those questions are surely from folks doing work in other jvm languages.

This bias makes Scala and other minor jvm languages look less popular than they really are with respect to not only Java but also languages like Python and Ruby, languages whose names are associated with the runtime/tools/libraries used by their developers.

There's also the fact that Scala has been gaining popularity far more rapidly than Java but the number of questions with a particular tag is a cumulative measure.  In effect we are trying to infer the relative popularities of languages from their integrals, when their derivatives are vastly different.

 

Copyright © 2012 École Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland