Last week IEEE Spectrum released its 10th annual rankings of the Top Programming Languages.
It choose a top language for each of three categories: actively used among typical IEEE members and working software engineers, in demand by employers, or “in the zeitgeist”.The results?

This year, Python doesn’t just remain No. 1 in our general “Spectrum” ranking — which is weighted to reflect the interests of the typical IEEE member — but it widens its lead.

Python’s increased dominance appears to be largely at the expense of smaller, more specialized, languages. It has become the jack-of-all-trades language — and the master of some, such as AI, where powerful and extensive libraries make it ubiquitous. And although Moore’s Law is winding down for high-end computing, low-end microcontrollers are still benefiting from performance gains, which means there’s now enough computing power available on a US $0.70 CPU to make Python a contender in embedded development, despite the overhead of an interpreter. Python also looks to be solidifying its position for the long term: Many children and teens now program their first game or blink their first LED using Python. They can then move seamlessly into more advanced domains, and even get a job, with the same language.

But Python alone does not make a career. In our “Jobs” ranking, it is SQL that shines at No. 1. Ironically though, you’re very unlikely to get a job as a pure SQL programmer. Instead, employers love, love, love, seeing SQL skills in tandem with some other language such as Java or C++. With today’s distributed architectures, a lot of business-critical data live in SQL databases…

But don’t let Python and SQL’s rankings fool you: Programming is still far from becoming a monoculture. Java and the various C-like languages outweigh Python in their combined popularity, especially for high-performance or resource-sensitive tasks where that interpreter overhead of Python’s is still too costly (although there are a number of attempts to make Python more competitive on that front). And there are software ecologies that are resistant to being absorbed into Python for other reasons.

The article cites the statistical analysis/visualization language R, as well as Fortran and Cobol, as languages that are hard to port code from or that have accumulated large already-validated codebases. But Python also remains at #1 in their third “Trending” category — with Java in second there and on the general “IEEE Spectrum” list.

JavaScript appears below Python and Java on all three lists. Java is immediately below them on the Trending and “Jobs” list, but two positions further down on the general “Spectrum” list (below C++ and C).

The metrics used for the calculation include the number of hits on Google, recent questions on Stack Overflow, tags on Discord, mentions in IEEE’s library of journal articles and its CareerBuilder job site, and language use in starred GitHub repositories and number of new programming books.

Originally Posted at