Top Programming Languages 2021

Python dominates as the de facto platform for new technologies

3 min read

Purple background  with a yellow hand shape made up of names of programming languages holds the word Python, which is large.

Learn Python. That's the biggest takeaway we can give you from its continued dominance of IEEE Spectrum's annual interactive rankings of the top programming languages. You don't have to become a dyed-in-the-wool Pythonista, but learning the language well enough to use one of the vast number of libraries written for it is probably worth your time.

Once you've got the basics of Python down, it's all about the ins and outs of particular libraries for things like embedded projects and large-scale AI systems. Frankly, depending on the domain, complexity, and/or quality of documentation, grokking one can be considerably tougher than learning Python itself.

But Python has its limits, as the continued popularity of languages better suited to solving particular problems, such as R, SQL, and Matlab, shows. C, C++, Java, and Javascript also continue to dominate at the top of the rankings, both on their own merits and because of the huge existing base of code written in them. (Indeed, significant parts of Python itself and its libraries are written in C for performance reasons.) And while many a high-level language has come and gone, there'll always be a place for those willing to write as close to the metal as possible in some flavor of assembly code.

It's precisely because one size doesn't fit all that our rankings are interactive. Want to just see languages that are used for embedded development? Those most in demand by employers? What's hot for web development? Use one of our filters or presets, or adjust the weights of the individual metrics as you like.

List of top 10 ranked programming languages, ordered from top: Python, Java, C, C++, JavaScript, C#, R, Go, HTML, and SwiftIEEE Spectrum

The default ranking is designed to reflect the interests of a typical IEEE member. The metrics are drawn from sources that we think are good proxies for gauging the popularity of languages, since it's impossible to know exactly what everyone is doing at their keyboards. Some were queried through publicly available interfaces, such as Stack Overflow or Google. Other metrics are drawn from private sources, such as the IEEE's Xplore article database, or the data on what language are in demand by employers, which comes from the IEEE Jobs Site and courtesy of CareerBuilder.

Some of the metrics reflect the peculiarities of a peculiar time: for example, with our Twitter metric, Cobol dropped from 7th place to 34th place. But this is due to the fact that Cobol was briefly a hot topic on Twitter in 2020 following the pleas from government officials who needed to update legacy systems in the face of the Covid pandemic. (Dealing with this kind of noise is the reason we combine multiple metrics.)

Other movers in the Spectrum default rankings include Microsoft's C#, which has risen from 25th place last year to 7th this year. This most likely reflects that version 9.0 of the language was released towards the end of 2020, the upcoming launch of Windows 11, and continued growing general interest in distributed systems, which C# is designed to enable.

We take a pragmatic approach to defining a programming language—HTML may not be general purpose, but we think it would be crazy to exclude it on that basis. Similarly, Arduino code could be argued as simply being written in a subset of C++, but that's not what people search for when they are trying to get their LEDs to blink. And the application domains, such as web or mobile, that you can filter on, are based on typical usage, not outliers (a few years ago we didn't class Python as an embedded language, but improvements in microcontroller processing powers and the rapid development of dialects designed for small systems have since made it a goto now for many makers). So find the ranking that suits your needs, and let us know if there are any new languages we should include in next year's edition.

The Conversation (7)
Seno Adi Putra
Seno Adi Putra25 Aug, 2021

HTML and arduino are not programming language. I think you have to throw them out from the list. Who say that Java is not for embedded device? I think you have to read more sources again. You have to read Java ME for embedded or Java Card or Java TV. Not only Java you have to explore, but also other pragramming features so that your survey will be credible and objective.

3 Replies
Hadi Rasouli
Hadi Rasouli05 Sep, 2021

Available in all divisions HTML and Arduino are not programming language

1 Reply
Anvar Narzullaev
Anvar Narzullaev27 Aug, 2021

Can't open the interactive chart on PC, mobile no problem.