Kotlin is rising, Go is plateauing, and Scala may be at the start of a backslide
What do we love more than anything? Metrics to judge our faves! Today, we take a look at RedMonk’s biannual review of the world’s most popular programming languages.
RedMonk takes an interesting approach when they’re calculating their list. Instead of trying to find just the most popular programming language by the numbers, they combine rankings from both GitHub and Stack Overflow. This combined listing shows the language’s usage as well as discussion, giving a more nuanced look at each language.
So, how do they come up with their data? They query languages on GitHub by pull request, based on the base repository language and excluding forked repos. This measurement by pull request mitigates any overestimation from measuring by repo. For their Stack Overflow data, they collected everything via the data explorer tool.
A couple quick caveats: the data is more robust for the bigger languages. Beyond the top tiers, the amount of data available to assess is quite small and so the placements subsequently become less reliable.
Top 20 languages
This year’s ranking has produced a number of ties. What’s most surprising about the rankings… is that there’s no big surprises.
For those of you with tired eyes, here’s a numerical ranking. (All ties are listed on the basis of alphabetical order.)
However, it is important to note that these numbers are accumulative. Rates of growth are fastest when projects are new and become harder to come by as a project develops over time. (Why? Diminishing returns, low hanging fruit, etc.) Displacing already established languages is a “significant and uphill battle”.
Looking at the second tier, there are some interesting trends that RedMonk has pointed out. For one thing, Go’s meteoric rise over the past ten years seems to have plateaued. Go has already been surpassed by the iOS-backed Swift. And for the second time in a row, Go has maintained its position on the charts. Sure, it might not be going to live on a farm anytime soon, but it may be that Go’s forward momentum has halted somewhat.
Kotlin may not have made the top 20, but its rise has certainly been impressive as it climbs the charts. According to RedMonk, in the course of little more than a year, Kotlin has gone from #65 to #46 in their Q3 run to #27 as of January. Well done, Kotlin! If they keep that kind of forward momentum up, we’ll likely be seeing them crack the top twenty list in the next year.
On the other hand, Scala seems to be dipping slightly in the rankings and has done so for three straight quarters. This may not be super statistically significant; making the top twenty still represents a lot of projects and developers. But, it’s something to keep an eye out for the future.
RedMonk also points to Swift as a programming language that’s done exceptionally well. Intended to be a replacement for Objective C, Swift now ties them for number 10. Swift’s server-side offerings may be a little underwhelming, but that doesn’t detract from their incredible rise.
TIOBE and PYPL
There are an awful lot of ranking systems out there and they all look different metrics. TIOBE is a lagging indicator, looking at the number of web pages with the language name. PYPL looks at the number of searches for “tutorial” of a specific programming language, trying to measure the number of beginners for every language. And, as we mentioned earlier, RedMonk looks at GitHub and Stack Overflow to determine how actively a language is used.
Plus, TIOBE and PYPL are monthly measurements, whereas RedMonk only analyzes the state of the programming language universe for January and June of every year.
None of these rankings are value judgments. Python might be the best language for you to use, or maybe R. It’s all up to what kind of project you as a developer are working on. Keep working on whatever is the best for you! In the meantime, we’ll keep an eye on the horizon for any weather changes. But, as the steady dominance of the top tier shows, we might be waiting a while for any big changes.