Update: These rankings have been updated. The next iteration is available here.
As we settle into a roughly bi-annual schedule for our programming language rankings, it is now time for the second drop of the year. This being the second run since GitHub retired its own rankings forcing us to replicate them by querying the GitHub archive, we are continuing to monitor the rankings for material differences between current and past rankings. While we’ve had slightly more movement than is typical, however, by and large the results have remained fairly consistent.
One important trend worth tracking, however, is the correlation between the GitHub and Stack Overflow rankings. This is the second consecutive period in which the relationship between how popular a language is on GitHub versus Stack Overflow has weakened; this run’s .74 is in fact the lowest observed correlation to date. Historically, the number has been closer to .80. With only two datapoints indicating a weakening – and given the fact that at nearly .75, the correlation remains strong – it is premature to speculate as to cause. But it will be interesting to monitor this relationship over time; should GitHub and Stack Overflow continue to drift apart in terms of programming language traction, it would be news.
For the time being, however, the focus will remain on the current rankings. Before we continue, please keep in mind the usual caveats.
- To be included in this analysis, a language must be observable within both GitHub and Stack Overflow.
- No claims are made here that these rankings are representative of general usage more broadly. They are nothing more or less than an examination of the correlation between two populations we believe to be predictive of future use, hence their value.
- There are many potential communities that could be surveyed for this analysis. GitHub and Stack Overflow are used here first because of their size and second because of their public exposure of the data necessary for the analysis. We encourage, however, interested parties to perform their own analyses using other sources.
- All numerical rankings should be taken with a grain of salt. We rank by numbers here strictly for the sake of interest. In general, the numerical ranking is substantially less relevant than the language’s tier or grouping. In many cases, one spot on the list is not distinguishable from the next. The separation between language tiers on the plot, however, is generally representative of substantial differences in relative popularity.
- In addition, the further down the rankings one goes, the less data available to rank languages by. Beyond the top tiers of languages, depending on the snapshot, the amount of data to assess is minute, and the actual placement of languages becomes less reliable the further down the list one proceeds.
(click to embiggen the chart)
Besides the above plot, which can be difficult to parse even at full size, we offer the following numerical rankings. As will be observed, this run produced several ties which are reflected below.
6 C++ / Ruby
17 Visual Basic
19 Clojure / Groovy
- R: Advocates of R will be pleased by the language’s fourth consecutive gain in the rankings. From 18 in January of 2013 to 13 in this run, the R language continues to rise. Astute observers might note by comparing plots that this is in part due to growth on GitHub; while R has always performed well on Stack Overflow due to the volume of questions and answers, it has tended to be under-represented on GitHub. This appears to be slowly changing, however, in spite of competition from Python, issues with the runtime itself and so on.
- Go: Like R, Go is sustaining its upward trajectory in the rankings. It didn’t match its six place jump from our last run, but the language moved up another spot and sits just outside the Top 20 at 21. While we caution against reading much into the actual placement on these rankings, where differences between spots can over-represent only marginal differences in performance, we do track changes in trajectory closely. While its 21st spot, therefore, may not distinguish it materially from the languages directly above or behind it, its trendline within these rankings does. Given the movement to date, as well as the qualitative evidence we see in terms of projects moving to Go from other alternatives, it is not unreasonable to expect Go to be a Top 20 language within the next six to twelve months.
- Perl: Perl, on the other hand, is trending in the opposite direction. Its decline has been slow, to be fair, dropping from 10 only down to 12 in our latest rankings, but it’s one of the few Tier 1 languages that has experienced a decline with no offsetting growth since we have been conducting these rankings. While Perl was the glue that pulled together the early web, many believe the Perl 5 versus Perl 6 divide has fractured that userbase, and at the very least has throttled adoption. While the causative factors are debatable, however, the evidence – both quantitative and qualitative – points to a runtime that is less competitive and significant than it once was.
- Julia/Rust: Two of the first quarter’s three languages to watch – Elixir didn’t demonstrate the same improvement – continued to their rise. Each jumped 5 spots from 62/63 to 57/58. This leaves them still well outside the second tier of languages, but they continue to climb in our rankings. For differing reasons, these two languages are proving to be popular sources of investigation and experimentation, and it’s certainly possible that one or both could follow in Go’s footsteps and make their way up the rankings into the second tier of languages at a minimum.
- Swift: Making its debut on our rankings in the wake of its announcement at WWDC is Swift, which checks in at 68 on our board. Depending on your perspective, this is either low for a language this significant or impressive for a language that is a few weeks old. Either way, it seems clear that – whatever its technical issues and limitations – Swift is a language that is going to be a lot more popular, and very soon. It might be cheating, but Swift is our language to watch this quarter.
Big picture, the takeaway from the rankings is that the language diversity explored most recently by my colleague remains the norm. While the Top 20 continues to be relatively static, we do see longer term trends adding new players (e.g. Go) to this mix. Whatever the resulting mix, however, it will ultimately be a reflection of developers’ desires to use the best tool for the job.
Donnie Berkholz says:
June 13, 2014 at 1:51 pm
Unsurprisingly Swift has much more conversational volume than usage at
this point. But I find it interesting that it’s already above 1,150
GitHub repos in the short time span since its announcement:
João Carias says:
June 18, 2014 at 4:51 am
There are now 1,418 projects. In 5 days it has grown 23.3 %!
June 16, 2014 at 3:50 am
gerdi bot says:
June 16, 2014 at 8:29 am
haha .. spoken like a true apple fancheese. Its only shit because ,well .. you are probably a shit developer, with a hater mentality but no sense nor knowledge to actually write your own language. Do us all a favour and try write a graphic intense game in anything other then c++ .. i dare n00b, or just crawl back to your mp3 player IDE .. whats it called … derp-code
Dan Sutton says:
June 16, 2014 at 12:13 pm
It’s “program” not “programme”. “Programme” is a word for a British TV show.
Rufus V. Smith says:
July 1, 2014 at 1:52 pm
Python is THE shit!
July 17, 2014 at 11:24 am
Out of touch!
Philip Oakley says:
June 16, 2014 at 5:59 am
It may be more interesting to look at the anti-correlated axis to see the difference in focus of the two ‘tools’ (github vs stackoverflow).
Awk, Io SQL and XML have lots of questions rather than code storage, while Common LISP, Tex and VimL have stored code rather than Q&A.
You can see which languages have their own independent Q&A forums (e.g. Lua, below the line), along with which languages are the new/popular kids on the block that folk want to know about (Swift, above the line).
Interesting, thought provoking, hopefully.
Fred Bakker says:
June 16, 2014 at 7:26 am
Where did you leave Cobol and Basic or QBasic ?
June 16, 2014 at 9:45 am
I left my QBasic on my old 386 when i gave it away to the gardner in 1998 and got myself a new shiny IBM pentium pro computer with a bigger 17 inch monitor for only $3500 Australian dollars on a 18 month interest free deal with GE Credit. I then proceeded to buy a copy of Visual Basic Pro version 6 and use that instead. Almost the same language as QBasic and with a real GUI and database. I re-implemented my lotto program and began working of real games with all that power availiable. As for Cobol, never used it and Basic, well GW Basic was left quite a while before that.
Fred Bakker says:
June 16, 2014 at 3:03 pm
Those languages are necessary for the charts, I think.
stephen o'grady says:
June 16, 2014 at 4:24 pm
GitHub is currently listing 42 repositories total containing COBOL, and 0 for Basic or QBasic, which means that they’re not showing sufficient usage to be included in these rankings.
Fred Bakker says:
June 18, 2014 at 1:35 am
For Basic, I can understand that, but it is still used.
rajeem cariazo says:
June 16, 2014 at 7:46 am
Python is overrated
June 16, 2014 at 8:16 am
June 16, 2014 at 11:19 am
Can the upward trend in R in github (and not on SF) due to the Coursera MOOC asking students to post the solutions on github ?. Those number of submissions are really huge and this can skew the results we are seeing.
Dan Sutton says:
June 16, 2014 at 12:14 pm
June 16, 2014 at 12:31 pm
They weren’t grouped, they are tied for spots 1 and 2.
Dan Sutton says:
June 16, 2014 at 12:46 pm
June 16, 2014 at 1:42 pm
I spent 30 years writing code in that god-awful IBM RPG. Thank God I’m retired.
July 10, 2014 at 7:54 pm
Somebody was asking me the other day if I wanted some freelance work in RPG. They’re porting it to dotnet. Using a dotnet version of RPG….
November 5, 2014 at 8:50 am
column counting! ugh! RPG IV wasn’t *THAT* bad though ….
June 16, 2014 at 6:02 pm
Visual Basic is still in the top 20! I guess reports of it’s death have been greatly exaggerated!
November 29, 2014 at 2:57 pm
I think that it’s most due to VB.NET. But I also agree w/ you… we will always have people in IT proclaiming the death of some language.
ZAchary Initial Z says:
June 16, 2014 at 10:34 pm
Another stupid story ,.. CSS?
Richard Eng says:
June 30, 2014 at 9:17 am
Agreed. In what deluded mind is CSS a “programming” language??
July 11, 2014 at 3:02 pm
That probably depends how you define “programming language”. The most academic answer would be that anything Turing-complete is a programming language. By that measure, CSS is just as much a programming language as any other. On the other hand, by that measure so is the Magic: The Gathering card game! (http://beza1e1.tuxen.de/articles/accidentally_turing_complete.html is an amusing list)
July 11, 2014 at 5:53 pm
CSS has conditionals – limited, yes – conditionals nonetheless. It has a syntax, strings, integers, commands, and it’s used to alter and manipulate DOM structures as well as other utilities. I wouldn’t say it’s delusional to count it among programming languages. It’s definitely a more hybrid markup/language – obviously “Style Sheet” is 2/3 of the acronym, but it still has programatic properties. I mean, sure you can’t write device drivers with it, and you probably can’t use it to run inode table analyses, set a css script as a cron job, or run chip level op codes with it … but it has it’s place just like everything else. I think most people who know how to program also know CSS and know where its place is. To include it isn’t a big deal and it’s not taking away from any other language by any means.
I don’t really care either way – I’m not going to get all bent out of shape over it, but to each their own I guess.
Adrian Kalbarczyk says:
November 28, 2014 at 2:31 pm
Even more stupid is XML here.
Ian Fellows says:
June 17, 2014 at 2:15 am
just a note… since it looks like you made the plot in R, you can clean up the overplotting with the wordcloud package (http://blog.fellstat.com/?p=248). (disclosure: I’m the author of that package)
June 19, 2014 at 6:29 pm
Is there a full list of the numerical rankings anywhere? I’m curious about Delphi’s trend, especially as one of the last proprietary languages left in existence.
It would also be interesting to weight some of these figures by age of language. It would seem to be meaningful if a newer language has eclipsed an older one in popularity. A ranking achieved/years in existence metric might be informative.
Richard Eng says:
June 30, 2014 at 10:09 am
It’s all fine and good to choose the “best tool for the job”, but one cannot ignore commercial reality. Using an obscure language, no matter how well suited to the particular task, has many drawbacks. Like in the Linux universe with its hundreds of distros, there are far too many programming languages out in the wild…and more are coming every year!
I understand the concept of ‘competition’. With all of these languages competing in the ‘marketplace’, we can expect the best of the best to rise to the top. And we can expect the list of top-tier languages to change over time, as Darwinian evolution sorts out the newest and most successful adaptations.
That said, most developers should focus on using the top-tier languages in order to get work done and to improve their resumes. Exploring new and obscure languages is a distraction in terms of TIME and ENERGY and sometimes MONEY, commodities that most of us have in short supply. There will always be geeks who love to tinker with new languages such as Rust, Nimrod, Cobra, etc., but they are in such a small minority that we can ignore them for the black sheep that they are.
July 7, 2014 at 2:22 am
Something doesn’t relate with the rankings especially with a commercial and job oriented focus. If I take Sydney as an example
Language | Jobs
While Java and Javscript do still come towards the top, the reality of jobs seems to show C#/.net being more used than your graph indiicates.
Maybe github isn’t the place c# devs are going for version control. There may need to be another element added to reflect commercial jobs.
July 10, 2014 at 8:11 pm
Using stats from SO and Github is never going to give you stats on jobs or what’s being used in production. Most production code will be in private repo’s, even it if is on Github. Even then, there are other repos that these stats ignore. The best these stats can do is give an unscientific measure of comparative “buzz” around languages. Even then, if developers in a particular language favor sourceforge or googlecode over Github, they’re not going to be well represented here,
My job involves coding in both Delphi and C#, but I typically wouldn’t “choose” to use them for an open source project. The licensing costs are way too high for “hobbyist” work, and they’re not “fun” languages to code. I’d much rather use something totally different like Ruby, Rust, Go or Haskell for that sort of project. But, I would still ask and answer Delphi/C# questions on SO. I think that explains the ranking of languages like Delphi, with a high number of SO questions, but relatively few Github repos.
July 10, 2014 at 8:21 am
CSS is not a programming language any more than HTML or XML is a programming language
Our Polyglot Nightmare | TechCrunch says:
July 10, 2014 at 7:02 pm
[…] of analysis is anecdotal. RedMonk, which has developed a ranking system for programming languages, released their latest report last month and showed that “language diversity … remains the norm.” Their data indicates that while the […]
Richard Eng says:
July 12, 2014 at 8:38 am
Here is a really interesting article about choosing a programming language that is directly relevant to the discussion here: http://outspeaking.com/words-of-technology/the-lemon-market-of-programming-language-adoption.html
Here's Apple to Teach You About Swift - Dice News says:
July 14, 2014 at 10:48 am
[…] language this significant or impressive for a language that is a few weeks old,” read RedMonk’s blog posting on the matter. “Either way, it seems clear that—whatever its technical issues and limitations—Swift is a […]
Friday links: Lego academics vs. admin, ESA vs. other summer conferences, greatest syllabus ever, a taxonomy of papers, and more | Dynamic Ecology says:
August 29, 2014 at 7:31 am
[…] Most popular programming languages across all programming (not just academic ecology). R just edges out Matlab in terms of popularity, but Python crushes both (in a virtual tie between Java, C, C++ and Python). Personally, I am midstream switching from Matlab to Python with R pulled in for teaching or specialized stats (or to conform with norms in working groups). Python is clearly a juggernaut in scientific computing in general, but I’m curious how many other ecologists are using it? […]
Python Community Support | Beginning Programming with Python For Dummies | says:
October 13, 2014 at 10:13 am
[…] likely that Python will experience problems. In fact, many rankings sites show Python as being the 4th to 8th most popular language out there right […]
Apache Software program Thought-about Helpful | PakUltimate says:
October 24, 2014 at 1:49 pm
[…] In the event you assume Java is lifeless, then clearly you haven’t been paying attention. […]
Programming Language Popularity… What should you learn? | Sean Ottey says:
November 28, 2014 at 7:14 pm
[…] Redmonk […]
Emmanuel Ehis Blog says:
December 2, 2014 at 2:35 am
[…] that metric, Redmonk’s quarterly list of popular programming languages (culled from matching data from GitHub and Stack Overflow) may be a better place to start when […]
給与の額でプログラミング言語を選ぶな | ReadWrite Japan says:
January 3, 2015 at 5:00 pm
[…] その基準から言えば、Redmonkの四半期ごとの人気プログラミング言語リスト（GitHubとStack Overflowとの照合データから抜粋）は、次に習得する言語を探す優れた参考資料と言えそうだ。 […]
The RedMonk Programming Language Rankings: January 2015 | E-Social says:
April 19, 2015 at 4:52 am
[…] Besides the above plot, which can be difficult to parse even at full size, we offer the following numerical rankings. As will be observed, this run produced several ties which are reflected below (they are listed out here alphabetically rather than consolidated as ties because the latter approach led to misunderstandings). […]
Top 20 der Programmiersprachen: Swift stürmt Richtung Spitze, Go weiter im Aufwind - jaxenter.de says:
July 3, 2015 at 5:59 am
Google Prodding Devs to Use Go - Dice Insights says:
July 16, 2015 at 9:23 am
[…] As of mid-2014, Go had managed to climb to 21st place on RedMonk’s bi-annual list of popular programming languages. Despite that relatively low ranking, the analysts behind the list thought that Go demonstrated significant promise. “Given the movement to date, as well as the qualitative evidence we see in terms of projects moving to Go from other alternatives, it is not unreasonable to expect Go to be a Top 20 language within the next six to twelve months,” they wrote in an accompanying blog posting. […]
Top 21 Programming Languages of 2016 – Programmer says:
February 27, 2016 at 1:49 am
[…] listed out here alphabetically rather than consolidated as ties because the latter approach led tomisunderstandings). Note that this is actually a list of the Top 21 languages, not Top 20, because of said […]