Developers may be a fickle bunch, but they’re sticking with Java, thank you very much. Even so, as the newest Redmonk Programming Language Rankings suggest, developers are very (very) open to new languages like Go and Swift that help them program for the cloud and mobile, respectively.
In the case of Swift—boy, are they ever open to it.
As we’ll see, the rankings clearly show the shift to mobile, cloud and Big Data, which isn’t all that surprising. What is, perhaps, surprising is just how dramatic that shift has been.
Ranking The Best
To glean which programming languages developers prefer, Redmonk analyzes languages being used on GitHub, a popular code repository, and Stack Overflow, the place many developers go to discuss programming. Every six months Stephen O’Grady, a Redmonk analyst and co-founder, highlights the results.
Here are the rankings, first as a chart:
And then as a list (top 10):
1 JavaScript
2 Java
3 PHP
4 Python
5 C#
5 C++
5 Ruby
8 CSS
9 C
10 Objective-C
It’s clear, as O’Grady highlights, that Java isn’t dying: “[T]he language frequently written off for dead [Java] and the language sometimes touted as the future [JavaScript] have shown sustained growth and traction and remain, according to this measure, the most popular offerings.”
It’s equally clear if we look outside the top 10 that there are some fundamental shifts in how developers craft their code:
- R may have hit its peak, but it’s an impressive peak. As an analytical tool, the language lacks the general purpose nature that drives the popularity of Python or Ruby. Even so, to hit #13 (after climbing the last few Redmonk rankings) is impressive. Clearly there’s something to these open source analytics languages. As Gartner finds, “A lot of innovative data scientists really favor open source components (especially Python and R) in their advanced analytics stack.” Indeed.
- Go is a rocket ship. With Google’s blessing and the ability to make cloud development powerfully simple, Go has been on a tear, climbing to #17 in the Redmonk rankings, up from #21 just six months ago and #28 two years ago.
- But Swift’s growth is “unprecedented.” Swift was always going to be a top-20 language, given that Apple has declared it to be the successor to Objective-C. But as O’Grady notes, its dramatic rise in the rankings is incredible and signals what we already know: mobile is huge, and Apple’s place within mobile remains huge(r):
The growth that Swift experienced is essentially unprecedented in the history of these rankings. When we see dramatic growth from a language it typically has jumped somewhere between 5 and 10 spots, and the closer the language gets to the Top 20 or within it, the more difficult growth is to come by. And yet Swift has gone from our 68th ranked language during Q3 to number 22 this quarter, a jump of 46 spots.
Clearly, Apple still has a (big) part to play in defining development for mobile. This shows in VisionMobile’s analysis of mobile developer fealty and in App Store numbers (iOS developers raked in $10 billion in 2014 alone).
What The Rankings Mean
Apple excepted, though, Redmonk’s rankings generally show a persistent stasis in the top development rankings, as O’Grady notes:
The inertia of the Top 10 remains substantial, and what change there is in the back half of the Top 20 or just outside of it – from Go to Swift – is both predictable and expected. The picture these rankings paint is of an environment thoroughly driven by developers; rather than seeing a heavy concentration around one or two languages as has been an aspiration in the past, we’re seeing a heavy distribution amongst a larger number of top tier languages followed by a long tail of more specialized usage.
In other words, developers are in control and they want to use the best programming tool for a particular job. They don’t want to use 100 different tools, to be fair. But they are comfortable using 10 to 20 different programming languages, with little significant change over the years.
Even so, where those changes are occurring—in mobile development, cloud and analytics languages—signals deep and permanent shifts in the market. As useful as it is to know Java or C#, the future lies in also knowing a language built for mobile, cloud computing or data analytics.
Lead image courtesy of Shutterstock