Python Tops Language Rankings - Again
Written by Mike James   
Wednesday, 01 September 2021

For the fifth year in a row Python tops the IEEE Spectrum Language Rankings. This exercise uses an interactive app that can be customized. So I set out to see what it takes to dislodge Python from its seemingly unassailable position.

First a disclaimer - personally I think Python deserves to come top. As a general purpose language it is accessible for beginners and its wide range of libraries helps accomplish many routine and common tasks. On the other hand if you want to dig deeper it has some interesting depths.

Next, a quick look at what has changed between 2020 and 2021. Here's the top 25 from full list of 55 languages with Python scoring 100% at the top down to Racket scoring 0% at the bottom:


Comparing this to last year the significant change is C# which has risen from #25 in 2020 to #6 which seems a much more reasonable position for it to occupy given that it is a well supported language that has seen a major update (C# 9.0) in the past year.

One way in which C# stands out from the other 54 languages included in the rankings is that is the only one that spans all four types: Web, Enterprise, Mobile and Embedded. Most languages cover two or three types and this is true of Python. For the purpose of the interactive app it isn't used for Mobile - and so the easy way to eliminate Python from its top ranking is to restrict the choice of languages to the Mobile type which results in the following list of just 12 languages:


In this list Java comes top, which seems very reasonable, and C second - which I found very surprising since I can't imagine choosing C (or C++ which is ranked third) for programming a smartphone app.

As mentioned earlier, the ranking app is customizable and for the above list my custom settings were used:


The changes made here were to exclude the IEEE Xplore setting and both the job-related metrics, IEEE Jobs and Career Builder. In addition the weights Hacker News and Reddit metrics were reduced while that of Stack Overflow was increased. Finally the GitHub (active) weighting was increased while the GitHub (created) weighting was decreased to downplay the effect of abandoned GitHub projects. 

Surprisingly this Custom ranking made very little difference compared to the default IEEE Spectrum. The Scores were. in general reduced, by only 1 in the case of Java but by 15 in the case of Scheme. In terms of relative position the top 8 languages were in the same positions but Delphi swapped places with Objective-C and D swapped with Scheme. 

Applying my Custom ranking to the original list of 55 languages, JavaScript rises above C++ (due to the active GitHub weighting, I imagine) Go rises two places to #6 and C# drops to replace it in #8. There are larger moves lower down the table - Fortran's new position is #31, for example, but Racket is still firmly at the bottom!

One feature that isn't new this year but its the first time I've noticed it, is that the drop down icon next to each language reveals salient details - so if you're not familiar with any of those list you can discover something about them:



Well I've had some fun speculating about language popularity, but I've not managed to dent Python's position at all! But you can't help feeling sorry for Racket...




More Information


Amazon Updates Bedrock With Custom Model Support

Amazon has updated Bedrock, its tool for building with generative AI on AWS. The update adds support for importing custom models and evaluating models, as well as support for using Meta Llama 3 models [ ... ]

Pharo 12 Adds New Breakpoint System

The latest version of Pharo, the open-source Smalltalk-inspired language and core library adds a new breakpoint model based on the debug point system.

More News

raspberry pi books



or email your comment to:





Last Updated ( Wednesday, 26 October 2022 )