Blogs

RedMonk

Skip to content

The RedMonk Programming Language Rankings: February 2012

For years now, it has been self-evident to us at RedMonk that programming language usage and adoption has been fragmenting at an accelerating rate [coverage]. As traditional barriers to technology procurement have eroded [coverage], developers have been empowered to leverage the runtimes they chose rather than those that were chosen for them. This has led to a sea change in the programming language landscape, with traditional language choices increasingly competing for attention with newer, more dynamic competitors.

The natural consequence of this tectonic shift has been uncertainty. Vendors for whom supporting Java and Microsoft based stacks was once sufficient are being forced to evaluate the array of alternatives in an effort to maximize their addressable audience. Platform-as-a-Service (PaaS) stacks like Cloud Foundry and OpenShift are perhaps the best example of this; the differentiation for each at launch was in part their support for multiple independent runtimes from JavaScript to Ruby.

While the question is obvious – which languages should I support? – the answer, and mechanisms for determining an answer, have been considerably less so. There is no canonical metric for determining platform traction; we employ half a dozen or more internally at RedMonk, depending on context, which incorporate everything from GitHub LOC rankings to LinkedIn group membership data.

But one of our favorites is the one originally developed by Drew Conway in 2010. It compares and contrasts the rankings of programming languages on GitHub and Stack Overflow to provide a broader view of language popularity. Our first snapshot using this model came in September. Five months later, we recompiled the data and plotted it to see what – if anything – had changed. Herewith the updated plot.

In general, the addition of languages like Dylan, Turing or Rust aside, little has changed six months on. We still have two clearly defined upper language tiers, with two to three less visible below that. There are, however, several developments worth discussing in more detail.

  • CoffeeScript: billed as a more syntactically approachable alternative that compiles to JavaScript, CoffeeScript made subtantial performance gains relative to its Stack Overflow tag volume (63%), but also jumped significantly in terms of its popularity on GitHub. Since September 1st, CoffeeScript was not only one of 11 languages to increase in popularity, it jumped the furthest, going from #19 to #13. The jump is even more significant since six new languages were added to GitHub’s list in that span. With all due apologies to Bryan Cantrill, the numbers indicate that CoffeeScript is one of the fastest growing platforms by this metric.
  • Java: as recently as a year ago, Java was widely regarded as a language with a limited future. Between the increased competition from dynamic languages and JVM based Java alternatives, while the JVM had a clearly projectable future, even conservative, enterprise buyer oriented analysts – the constituency most predispoed to defend Java – were writing its obituary. As we argued at FOSDEM last February, however, these conclusions were premature according to our data. One year in, and the data continues to validate that assertion.
    Apart from being the second highest growth language on GitHub next to CoffeeScript, Java – already the language with the second most associated tags on Stack Overflow – outpaced the the median tag volume growth rate of 23%. This growth is supported elsewhere; on LinkedIn, the Java user group grew members faster than every other tracked programming language excepting C# and Java. This chart, for example, depicts the percentage of LinkedIn user group growth for Java and JVM based alternatives since November of 2011.

    linkedin-percentage-growth

    This outperformance is even more impressive when the overall member numbers are factored in.

    linkedin-member-count

    Our data, then, indicates that Java remains – in spite of the fragmented programming language landscape – a viable, growing language.

  • Rust: a C/C++ like syntactical language originally developer in 2006, with the 0.1 of its compiler completed only last month, Rust has surprising traction on GitHub. On February 1st, it sat at 21 on GitHub Explore, ahead of Clojure, Groovy, Erglang, R, Go and a half dozen other relatively popular languages. While this is almost certainly a product of Mozilla’s involvement in the project, it has caught the eye of more than a few prominent technologists. There are a mere 4 questions tagged with Rust on Stack Overflow, so it’s clearly early days, but Rust is on the radar.

Other quick hit observations:

  • C dropped 2 spots on GitHub’s rankings, from 5 to 7
  • Go posted the fourth highest growth percentage on Stack Overflow, R was sixth
  • Java passed PHP
  • Prolog jumped six spots on GitHub from 30 to 24
  • Scala may be separating itself from the other Tier 2 languages
  • Viml is popular on GitHub

Categories: Programming Languages.

Tags: , , , , , , ,

  • http://redmonk.com/dberkholz Donnie Berkholz

    You know what would be totally awesome? Making an vector plot with arrows from old to new locations of each language. That would make the moves you mentioned obvious, as well as others like the increases in popularity of XQuery and Arduino, Puppet, Standard ML and AutoHotkey (whatever that is), and other even less common languages. I’m particularly intrigued by XQuery and Puppet.

    • http://webmink.com Simon Phipps

       Just indicating the popularity trend with a colour (green for increasing, red for decreasing, for example) would be great.

      Also, it looks to me as if there are three clear clusters. Perhaps tracking movement between those clusters over time would be a good alternative metric? So mark the boundary of each cluster with a colour (blue for the leaders, orange for the challengers and grey for the specialists) and then mark each language in the colour of the circle that that appeared in last time. That way the movers would stand out clearly against the rest in their cluster.

    • Aníbal Montaño
  • Guest

    Rust is ranked #23 on Github right now, but if you look at some of those “Rust” repos, you will notice that most of them are false positives probably due to wrong interpretation of the .rc file extension.

    • Justin Malcolm

       Interesting. Based just on the chart above I was about to start digging into Rust. It really looked like I was missing something.

  • http://twitter.com/DonaldOJDK DonaldOJDK

    Suggestion — add a third dimension (perhaps with bubbles) representing the number of jobs posted on indeed.com, or some other site (maybe dice, as it’s less prone to noise).  Would be an interesting addition to ‘economic activity’

    • http://profile.yahoo.com/NCU7775P4UUP27ATQV24TTC2FQ corridor5

      How about a fourth dimension with animated, time-shifting nodes. With a fifth dimension and the cooperation of the LHC we may even be able to reach into the very chasm of eternity and touch language nirvana. Hm, Nirvana sounds like a good programming language. I think I’ll base it on the JVM. Ooo, I’m getting numb just thinking about it.

    • Robin

      There is some jobs data on (my site) http://jobstractor.com/monthly-stats if you’re interested. Although a more limited data set than indeed I think it shows a reasonable snapshot of the jobs market for developers.

  • http://profiles.google.com/snarkhunt Matt Katz

    I’m guessing viml isn’t actually a popular programming language.  most of us keep our vim plugins in a git repo and keep that in github.  So I might have a bunch of viml repos, but I’m not maintaining them or programming in them.  Same for the rest of my dotfiles.

  • adamgent

    C# and Ruby would/should be closer to the middle.
    The reason they are not is that Stackoverflow was created/shared by C# programmers at first:Jon Skeet co-wrote the F# book and Stackoverflow was written in C#.

    Likewise Github was very popular by the Ruby community because Github was written in Ruby.  The Github authors wrote the Git/Ruby connectors.

    • Justin Malcolm

      I agree with you anecdotaly but the data does not agree. Perhaps your assertions explain why Ruby is to the right of the line and why C# is above it, but both languages show about the same degree of popularity on both axes. Your interpretation does not explain why Ruby is so popular on Stack Overflow or why C# has so many projects on GitHub. To me, C# is especially surprising since CodePlex and OuterCurve no doubt suck up a lot of the C# projects. Then again, Mono has moved to GitHub so that adds a bit of a bump (the Mono project has quite a few GitHub repositories I think).

      • adamgent

        Well I think you answered yourself with another interpretation. That is overtime as github and stackoverflow improve with popularity languages are moving towards the middle. Kind of like when facebook and twitter killed off the other social media services, github and stackoverflow are doing so likewise. 

        You are for sure right that C# should be even further away from the middle considering that Git is not as popular on windows (its only been recently that Git worked natively on windows) and the plethora of other C# project hosting.

        What is very surprising to me is how Haskell is in the dead middle. I expected to see far more questions than projects. A good sign for Haskell.

  • valyard

    Do you have data for earlier months?

  • http://pulse.yahoo.com/_C42PJY2KRMEVLW2EYOZFW23U3A Warren

    Why GitHub and not BitBucket? Why bias this by making GIT-usage an entire axis of how we measure EVERY language?

    • http://freemusicformormons.com/lds-ward-choir-music roger pack

       Yes, data from bitbucket would be kind, and definitely add to python’s repo count :)  The reality though is that both SO and github are “new fangled” and “more social” (which is also somewhat “new”) so will tend to favor younger/newer languages/developers, too, so…take the entire study with a grain of salt I guess.

  • Jon Fisher

    >> Java was widely regarded as a language with a limited futureLol in what universe? A lot of people hate it for it’s success, but it’s a fast enough, clear-enough language with a lot of purposes.

  • Eddy

    Nice analysis.

  • http://www.rodrigoalvesvieira.com/ Rodrigo Alves Vieira

    Nice, having some math and graphs to show people that Java is not dead and reports of it are “greatly exaggerated”. Good to see JRuby and Scala growing too ;)

  • radkat

    Do you have anywhere raw data available? I’m interested in the first picture mostly.

  • Jonny Coombes

    Wow – I’ve been programming for nearly 20 years and this is the first time I’ve ever commented as regards these “popularity polls”.  Just wondering what the exact point of these surveys is – other than to try and direct non-thinkers as to which direction they should be pointing their CV?  Bring back the engineering spirit I reckon, less of this pointless marketing bollocks. 

    • Guest

      To train sheeple, sorry people, and deploy as worker threads.

      • Frankelr

        Oh, “guest”, you’re such sn individual!

      • Matt Joiner

        Well FWIW, if unis actually paid attention to something like this, it’d still be an improvement.

        • Typo333

          Whatever do universities have to do with programming language choice in industry?

          I certainly hope your university (unless perhaps it is a 1-year trade school like “ITT Tech”) is teaching you first how to learn, and second the fundamentals of the field, rather than wasting exceptionally valuable time with such minutae as programming languages.  Programming languages are absolutely guaranteed to change completely during one’s career.  I’ve never met anyone who used professionally a programming language they learned in college.

          Students today are graduating with record amounts of debt, and I wouldn’t want anyone to be going into debt to learn details of Java syntax.

  • http://twitter.com/phonebanshee phonebanshee

    It’d be interesting to see a plot of just the delta from the last dataset.  (I’d really like to see some ranking over time, but just the Sep delta is probably easiest to do) .

  • Prathamesh Mone

    what do we mean by?
    Scala may be separating itself from the other Tier 2 languages

  • Nick

    I think you are misunderstanding the criticisms of Java. No one is arguing that its popularity is going down, it is definitely the lingua franca of the business software world (like COBOL before it). It is just no longer the best choice out there in terms of technological superiority (again, like COBOL before it).

  • Pingback: Visto nel Web – 13 « Ok, panico

  • Larry Geiger

    No MUMPS?  Hmmmmm.

  • Pingback: The old problem « Polyglot Posturings

  • Pingback: RedMonk Programming Language Rankings: CoffeeScript and Java Make Gains – - Tech News AggregatorTech News Aggregator

  • Pingback: Links 15/2/2012: New Fedora Leader, Debian Lenny Support Ending | Techrights

  • Pingback: ServicesAngle Weekly Editorial Call: Parallels and the SMB Cloud, the Future of Commodity Servers and More | ServicesANGLE

  • http://twitter.com/elimisteve elimisteve

    “…on LinkedIn, the Java user group grew members faster than every other tracked programming language excepting C# and Java.”

    Java was most popular except for C# and… Java?  I’m not sure what you mean.

  • http://twitter.com/elimisteve elimisteve

    Glad to see Go getting more popular!  It’s such an awesome language…  Speed + simplicity + concurrency == Awesome.

  • http://twitter.com/egeozcan Yavuz Ege Özcan

    Java is growing because of Android, don’t you think? Would that be hard to analyse? 

  • Pingback: Scala: Sink or Swim? Part 1 | zeroturnaround.com

  • Pingback: Clojure: Links, News And Resources (5) « Angel “Java” Lopez on Blog

  • Pingback: Google Releases Go Programming Language | Dice Blog Network

  • Pingback: Google’s Go Programming Language Grows Up: Now What? | Daily Hacking News

  • Pingback: Google’s Go Programming Language Grows Up: Now What? | TechDiem.com

  • Pingback: Log In | Blog Network

  • Pingback: Java's Still in Demand, But the Landscape's Changing | Dice Blog Network

  • Pingback: Redmonk Programming Language Ranking – JonasErmert.de

  • Pingback: ColdFusion Use On the Rise | WebProNews

  • Pingback: Programming Language Popularity Based On O’Reilly Book Sales | DevOpsANGLE

  • Pingback: The 2nd Tenet of PaaS: The P in PaaS Stands for Platform, Not Product | tentenet.net

  • Pingback: Python wraps its coils around the enterprise | Rubin Shrestha

  • Pingback: Python wraps its coils around the enterprise - PHP web application, Joomla, ecommerce website development - PHP OOPS – PHP Development

  • Pingback: Quels sont les languages de programmation les plus populaires - Forum Algerie

  • Pingback: look! » Programming Langauge Rankings

  • http://onlineguitarcoaching.com Will Kriski

    Just remember that popularity does not equal higher pay if anyone’s interested in that. I specialize in a narrow niche middleware product that pays way more than .NET and Java. In other words, there is value and usually less competition in ‘unpopular’ languages.

  • Pingback: Programmiersprachen Trends 2012

  • Pingback: Links for July 1st through July 5th

  • Pingback: Objective-C、モバイル開発ブームに乗りプログラミング言語のトップ3入り(TIOBE調査)

  • Pingback: Index Shows iOS Programming Language Now In Top 3 As Mobile Development Booms | Gaster Tech Blog

  • Pingback: iOS 编程语言 Objective-C 挤进排行榜前三 | IT & 数码

  • Pingback: Top Programming Langages | GeeksDeck

  • Pingback: Overclock.lt – IT naujienos kasdien » Blog Archive » iOS programavimui skirta kalba trečioje vietoje reitinge

  • Ben Galvan

    Remember to not be fooled by trends. A really good strategy (highlighted in the book “The Passionate Programmer”) is to 1) Don’t marry a language 2) Know two or more languages, one established and on the way out, and one that is trending up, and find a market in integrating both.

    Also important to know that programming is programming. If you are a good programmer,  a new language is simply a matter of learning syntax and rules.

  • Pingback: Working to extend our cloud with Sonian | Thoughts on Cloud Blog

  • Pingback: SmartCloud

  • Pingback: Working to extend our cloud with Sonian : Cloud Computing

  • Pingback: Popularity of R continues | Herramientas industriales