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.
In the January 2011 Technology Radar ThoughtWorks [1] 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 [2] Scala moving towards the 'Adopt' category ahead of other emerging languages like Clojure and F#.
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 [3]. 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 [4] attracted 280, at the same time more than doubling the commercial focused talks given.
And there are over 60 very active Scala user groups [5] world wide.
Indeed.com gives a good picture of the United States Scala programming job postings numbers and the graph shows a factor of 10 growth [6] over two years. Scanning the company advertising [7] 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 [8]. London is often considered a leading indicator for UK technology adoption. There, Scala ranks 23 in the category 'Programming languages [9]' 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.
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 [10] 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 [11] 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.
TIOBE [12] bases its popularity model [13] 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 [14] – “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?
Links:
[1] http://www.thoughtworks.com/articles/technology-radar-january-2011
[2] http://www.thoughtworks.com/articles/technology-radar-july-2011
[3] http://typesafe.com
[4] http://days2011.scala-lang.org/
[5] http://www.scala-tribes.org/
[6] http://www.indeed.com/jobanalytics/jobtrends?q=scala&l=
[7] http://www.indeed.com/jobs?q=scala&l=
[8] http://www.itjobswatch.co.uk/jobs/london/scala.do
[9] http://www.itjobswatch.co.uk/default.aspx?page=2&sortby=0&orderby=0&q=&id=1300&lid=2618
[10] http://redmonk.com/sogrady/2011/09/06/dataists-anguage-rankings/
[11] http://langpop.com/
[12] http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
[13] http://www.tiobe.com/index.php/content/paperinfo/tpci/tpci_definition.htm
[14] http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/