Members of the I Programmer team all have their favorite language (or rather languages since they have had to move with the times and anyway they enjoy trying out newly emerging alternatives. So whenever there’s a new language popularity survey, or the latest Tiobe Index is published it reignites the ongoing debate, not only about the relative merits of different languages but also about the validity of the analysis.
RedMonk re-ranks languages every six months based on a very straightforward methodology – a correlation between activity on GitHub (an indication of language usage) and on Stack Overflow (an indication of level of interest). The approach came initially from the self-styled “dataists” Drew Conway and John Myles White in 2010 as we reported at the time, see Ranking Languages. The analysis has been continued by Stephen O’Grady who comments in his most recent write up:
While the specific means of collection has changed, the basic process remains the same….The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends.
As Mike James noted back in 2010 the exercise has face validity and corresponds well to our own experience.
As well as presenting the most up-to-date analysis, RedMonk provides historic trends with a chart that is updated bi-annually by Rachel Stephens. Here is the latest one:
This chart exemplifies the defining characteristic of the RedMonk rankings that we have commented on repeatedly is that, at least at the top of the rankings, they are very consistent over time, a phenomenon we’ve previously explained in Why Do Some Languages Always Come Top? This means that Python overtaking Java in these rankings is noteworthy.
Commenting on this change from the Java side of the coiin O’Grady writes:
This is the first time we have ever placed Java in a rank other than first or second. Even as other reports prematurely and falsely called the language dead or wrote it off, its robust performance in these quantitative rankings validated what we observed qualitatively, which was that Java remained in widespread usage thanks to its ability to find and satisfy new use cases. It is true, however, that Java has never faced more competition for developer time and attention than it does today, and while it will be an enterprise mainstay for years, its traditional position of prominence is not guaranteed. It will therefore be interesting to watch Java over the coming quarters to determine whether this run is a temporary aberration, a new status quo or an early indicator of a longer term decline in popularity.
There is a marked difference between the top half of the above chart and the bottom half, which is where languages both come and go and see some dramatic shifts. For example Swift burst in at 18th in 2015, joined the top 10 briefly in 2018 and now seems pretty stable, ranked 11th. Even more notably Typescript which entered the chart ranked 17th as if from nowhere in 2017 – although in fact from having held a fairly stable position outside the top 20 – made it to the top 10 this January and continues to rise, currently occupying the 9th position. Go also arrived ranked 17th but two years prior to Typescript, made it to 14th in 2018 but has since declined to joint 15th. These more momentous movements seem very credible, as does the recent arrival of Kotlin, displacing Lua, which now occupies the 19th rank and this edition’s newcomer Rust which sees Haskell’s exit from the top 20.
or email your comment to: firstname.lastname@example.org