Main image of article TIOBE Index Shows How Some Programming Languages Survive

Twenty years ago, the TIOBE Index published its first-ever ranking of the world’s most popular programming languages. The top three languages at the time were Java, C, and C++. The Index’s latest update reveals that not much has changed in the past two decades, with C, Java, and Python topping the list.

Is that surprising? Perhaps it shouldn’t be. If you follow programming languages, you’ll note that once a particular language becomes firmly entrenched, it’s very hard to dislodge. For example, companies are often more willing to maintain legacy code (and technical debt) than go through the pain and expense of completely rewriting that code in a new language, especially if the code in question supports a mission-critical system.

To generate its rankings, TIOBE leverages data from a variety of aggregators and search engines, including Google, Wikipedia, YouTube, and Amazon. For a language to rank, it must be Turing complete, have its own Wikipedia entry, and earn more than 5,000 hits for +”<language> programming” on Google. Yes, that potentially makes TIOBE more an indicator of a language’s “buzz” than its actual usage, but measuring the former is also useful when it comes to judging languages’ long-term usage. 

Nor is TIOBE an outlier when it comes to programming-language rankings; other analyst firms and websites that attempt to order languages via a particular formula or surveys, such as RedMonk and Stack Overflow, routinely place the “big” languages such as Python in the top five. Only in the lower rankings do you see much short-term movement; a burst of publicity around a language such as Kotlin or Swift can raise its ranking considerably over the course of a year. 

For technologists (and aspiring technologists) who want to break into programming, this also means that learning the more popular programming languages is a win-win proposition; it seems unlikely that everyone will stop using them anytime soon, and there are lots of organizations that need people who know those languages. Keep that in mind as you embark on your learning journey.