How do we know which programming language is the most popular

Let’s find out how the ratings of programming languages ​​are calculated, which programming languages ​​are the most popular, and what we should do with this information.

December 2021 Python remains one of the most popular programming languages. We learn about this from the ratings IEEE Spectrum, TIOBE, PYPL… However, ratings Github octoverse, Stack Overflow Annual Developer Survey and Languish tell us that Python is in 2nd place, and Githut, which is only on the 3rd. And the most popular is JavaScript… The fact is that different ratings have different tasks and calculation methods. So it’s time to figure out how these ratings are arranged and what they are for.

TIOBE

If you have ever heard that some language has become the most popular, then most likely this information was based precisely on the rating TIOBE… As it is written on the rating page, the number of qualified specialists, courses and suppliers using these languages ​​is taken into account to calculate it. Popularity in search engines such as Google, Bing, Yahoo, Wikipedia, Amazon, Youtube and Baidu is also revealed. This rating allows you to understand if your skills are up to the required, and which language to prefer for your new project.

The article “TIOBE Programming Community Index Definition” detailed methodology for this rating is given. There is no division into categories of applications in this rating. Only Turing complete languages ​​are included in the ranking. As a result, we will not see HTML, XML, CSS in the rating. Also, the language should have a page on Wikipedia, and this page should indicate that it is a programming language. Therefore ASP, Excel and some others were not included in it.

The rating value itself is considered as the average for all search engines of the normalized values ​​of the number of mentions:

$ (hits (PL, SE1) / hits (SE1) + ... + hits (PL, SEn) / hits (SEn)) / n $

IEEE Spectrum

IEEE Spectrum has, perhaps, one of the most complex calculation methods, which is described in the article “IEEE Top Programming Languages: Design, Methods, and Data Sources. Here are the metrics we use to build an overall ranking of programming language popularity ”… The choice of languages ​​for calculating the ranking starts here by identifying the languages ​​with the highest number of SERPs. Google… The selected languages ​​are assigned one or more categories according to the application: for web, mobile, enterprise and desktop applications, and for embedded systems. As a result, 55 very different languages ​​are selected: here and widespread Java, and old Cobol with Fortran, and niche Haskell.

Next, eight data sources are analyzed. From a Google search engine, it turns out how many information resources can be found for each of the languages ​​at a given time. From Google Trends learn how often they search for information about a given language (also at a given moment in time). From Twitter get information about language mentions. On the Github look at the number of new code repositories in each language and how many repositories have been updated. The first tells us about the interest in the language, and the second – about the preservation of interest in it. On the Stack Overflow the number of questions with the tag of the given language is revealed. On the Reddit the number of mentions of the language in the posted link and comments is considered. The number of mentions of the language on Hacker News… All these indicators are taken over the past year. It also reveals the current demand for language specialists in the labor market for CareerBuilder and IEEE Job Site… Finally, its own digital library is analyzed IEEE Xplore Digital Library on the mention of the language over the past two years. Then all these indicators are summed up with some weights. It is interesting that you can set your own weights and recalculate your rating with them.

You can also view popularity by category. For example, for the Web, the most popular triplets would be: Python, Java, and JavaScript; for corporate, desktop and scientific applications – Python, Java, C; for mobile applications – Java, C and C ++; and for embedded systems – Python, C, C ++.

PYPL

As the ranking page says PYPL (PopularitY of Programming Language), it is based on a search analysis in Google training materials on the programming language. To obtain this data, it is used Google Trends… This is a simple rating that can tell us which languages ​​are currently being studied the most, and therefore are interested in mastering them. This rating is useful for beginners in programming, as well as those who decide to change the programming language. There is no division by category here.

Github octoverse

Github octoverse interesting by the statistics of the annual user survey published on it Github… There are only ten positions in the ranking of programming languages ​​and they are given in the form of a graph, starting from 2014. In general, Github Octoverse resembles that of Stack Overflow, which is discussed below.

Stack Overflow Annual Developer Survey

Like GitHub Octoverse rating from Stack Overflow calculated based on developer survey. Since the survey includes not just programming languages, but development technologies, another feature of the rating of languages ​​is the inclusion in their composition, in addition to programming languages, of scripting languages ​​(Shell), queries (SQL), markup (HTML and CSS) and runtime environments (Node.js).

Githut

Rating Githut uses data from the server GH Archivespecially designed for the convenience of data analysis with Github… The counting method is described on project page… Interesting in that it contains what GitHub considers a language. Accordingly, here we see CSS, TeX. And since GitHub is about open source software, the preferences of its developers determine that CoffeeScript, Emacs Lisp and Vim Script appear in the rating.

GitHut 2.0

Rating GitHut 2.0 also based on data GH Archive… The rating device is described on his page… This rating, like the previous one, perfectly shows how the preferences of developers change when they develop open source: such “exotic” as Nix, Elixir, a certain DM appear.

Languish

Rating Languish uses rating data GitHut 2.0… Here you can also find something that we will not see in other ratings: Jupiter Notebooks, for example.

conclusions

We found out how the ratings of programming languages ​​work, what data they are based on, and how they differ from each other. These differences determine the informativeness of the ratings for a particular purpose: whether we want to choose a language for learning programming, or to find a job, or maybe for our new project. It should also be clear to us that there is no universal rating, and there is no most popular programming language in the absolute sense. And in this regard, perhaps the most interesting ratings are IEEE Spectrum as using the largest number of data sources and allowing itself to customize and choose language categories, and the rating from Stack Overflow as based on information obtained from the programmers themselves. Rankings based only on data from GitHub are skewed towards open source, where languages ​​other than those used for closed source may be popular.

Finally, you need to understand that the rating is a snapshot of the current state, albeit due to the background. But it is also useful for us to follow the trends, how the popularity of a particular language is changing. It is fair to say that many of the rankings reviewed also provide information on trends in programming languages. This allows us to understand which languages ​​are gaining popularity, which ones are losing popularity, and which ones maintain the status quo for a long time. According to TIOBE, Python is the language that has been growing in popularity over the past few years, and the JavaScript rating has not changed steadily from year to year.

What should we build a house …

For those who have read to the end, I immodestly suggest that you familiarize yourself with the rating I have compiled based on the ratings reviewed. First of all, the languages ​​presented in the table at the beginning of the article are sorted by the number of mentions in all reviewed ratings. We filter out of them what is not a programming language and is mentioned too rarely. 15 languages ​​remain. For the places occupied, inverted points are given, i.e. for 1st place 20 points, for 2nd – 19, …, for 20th – 1. For each failure to mention in the ranking 20 points are deducted (handicap). The result is the following picture:

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *