Should You Believe Programming Language Popularity Rankings?

Every so often, analyst firms will release lists of the world’s most popular programming languages. There’s the TIOBE Index, which updates every month; RedMonk, which issues new rankings a few times a year; and the PYPL Index, also a monthly. Every year, massive platforms such as Stack Overflow and GitHub will also break down the languages their users rely on the most.

At least on the surface, the utility of such lists is pretty clear. If tech pros know which languages are on the rise (or falling rapidly), they can better decide which languages to learn—and which to emphasize on their résumés and online profiles.

But there’s just one little issue, as a recent column in TechCrunch pointed out: Each of these rankings relies on different methodologies. One might leverage regular surveys of developers, while another might blend a few datasets together—delivering radically different rankings as a result.

“It’s a little upsetting that these three measures [TIOBE, GitHub, and PYPL] are so starkly, radically different,” Jon Evans wrote in that TechCrunch column. “Sadly, though, we seem to still be stuck with tea leaves rather than hard numbers.”

Evans certainly has a point: Thanks to varying methodologies, all these sites rank languages somewhat differently, although the biggest ones (i.e., Python, Java, JavaScript, C++) tend to inevitably occupy the top slots. However, this isn’t really a danger to tech pros, so long as they treat rankings more as gentle guidance than anything definitive.

In other words, it doesn’t matter whether Swift (just to pick an up-and-coming language) occupies the tenth slot on one ranking, and the fifteenth slot on another; the fact that it places on all rankings should be enough for tech pros interested in mobile to give the language some consideration. In a similar vein, as long as these language surveys show the biggest languages maintaining their high rankings, it’s doubtlessly safe to learn them (and no, it doesn’t really matter if Python is ranked first on one, and fifth on another).

And consider this: For many tech pros, what’s popular in the industry might not have a substantial impact on their careers. If you’re making a hefty salary maintaining an aging mainframe, for example, you might not care much about the rise of newfangled languages such as Swift and Kotlin. For those workers, such rankings are an interesting diversion—although it always pays to know what languages your colleagues are gravitating towards.

Pay attention to rankings, but don’t sweat too much over them.

Related

3 Responses to “Should You Believe Programming Language Popularity Rankings?”

  1. Jeff Jones

    Since when does popularity (i.e. running with the herd) make a good choice for engineers? A good engineer applies the principles of value engineering to see what language(s) are most productive with available tools, are most likely to have long term support by the manufacturer, support an end product that is maintainable, extendible, performs well, and meets current and (foreseeable) future market demands.

    In my little world, I made that analysis. I found .NET, ASP.NET/Razor (and now Blazor), C#, and Xamarin, to be much better choices for Windows desktop, cross-platform, SOA, and web app development.

    Discernment is much lacking attribute in software engineering today.

  2. To say nothing of the fact that many large businesses that have a great deal of internal development don’t allow for their codebases to be stored on public servers so there is a rather large discrepancy in how much is coded in what language and for what platform.

    In my workgroup, 90% of what we code is forms based for Windows PCs and 10% for web on IIS. All of it internal access only and backended on Oracle, DB2 and MSSQL. We use .NET VB, C# and ASP along side PLSQL and standard SQL. We only have a small amount of Java in production. Most of the rest of the internal parts of who I work for are pretty much the same except what balance of PC vs web and C# vs VB but it is almost all done on Visual Studio and all .NET.