What kind of nonsense is happening with the popularity ratings of programming languages?
Today I studied the TIOBE index , as I often do, and how often most of those professional programmers I know do. He claims to measure the popularity of programming languages in the world, and his graph of popularity changes over time tells a simple story: Java and C from time immemorial remain the kings of languages by a wide margin.
But wait a minute, let's not so fast. The competing list PYPL Index (PopularitY of Programming Languages) says that kings are Python and Java, and C (counted, suddenly, together with C ++) is somewhere in the back of the list. What's happening?
It’s just that these two lists have very different calculation methodologies. However, they are united by one thing - the controversy of their methodologies, given that their goal is to measure the popularity of programming languages. TIOBE measures just the number of requests in a search engine . PYPL measures how often people googling educational materials on a particular language.
Both of these measures are bad. It can be expected that the availability of online resources will be a very lagging indicator. The once popular language, now consigned to oblivion, should have millions of old web pages dedicated to it, half-dead sites and blog entries that no one has read for years. And the search for educational materials should be inclined towards the languages that students are taught. This measure is not related to what languages are actually often used by practitioners.
There are many anomalies in the numbers of these ratings. According to TIOBE, the last time C took off from the lowest place in the ranking to the language of the year in five months. I can believe that C is being revived through embedded systems. But I can also easily imagine that this take-off was due to the shortcomings of a far from ideal measurement method.
A more glaring anomaly in both ratings is the relative performance of Objective-C and Swift, two languages in which native iOS applications are written. I can believe that, in sum, they are experiencing some decline in the face of the popularity of cross-platform alternatives like Xamarin and React Native. But I hardly believe that after four years of Swift promotion by Apple - from my point of view, a much better language - Objective-C remains more popular and widely used. At work I come across different apps for iOS / tvOS / watchOS, and talk with a lot of iOS developers. It is very rarely possible to find a person who has not yet switched from Objective-C to Swift.
However, life stories will not replace data, right? If only my personal experience would conflict with these methodologies, I would conclude that it was simply spoiled by a selection error . And I would calmly do it if only there were no other methods for measuring the popularity of programming languages. I'm talking about the annual GitHub reports, which list the fifteen most popular programming languages used on this platform. And these numbers ideally coincide with my experience, and seriously disagree with the statements of TIOBE and PYPL.
Obviously, the GitHub numbers do not represent the entire professional field at 100%. Their sample is very large, but only applies to open source projects. However, I want to note that GitHub is the only rating where Swift turns out to be more popular than Objective-C. Because of this, he looks much more convincing. However, his sample, based on open source, makes it not decisive.
This statistic actually matters, not just satisfies curiosity and provides some information about the industry. Language is not everything, but it does matter. People determine which languages to study, what work to look for and what to do, based on their popularity and their relative value in the future. Therefore, it is a bit unpleasant that these three measurement methods are so much, so radically different. Unfortunately, we, apparently, will have to be content with fortune-telling on tea leaves instead of clear numbers.
Only registered users can participate in the survey. Sign in , please.