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.
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.
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 Top Programming Languages 2019 - IEEE Spectrum ›
- Top Programming Languages - IEEE Spectrum ›
- Top Programming Languages 2020 - IEEE Spectrum ›
- Why OpenAI's Codex Won't Replace Coders - IEEE Spectrum ›
- Top Programming Languages 2022 - IEEE Spectrum ›
Stephen Cass is the special projects editor at IEEE Spectrum. He currently helms Spectrum's Hands On column, and is also responsible for interactive projects such as the Top Programming Languages app. He has a bachelor's degree in experimental physics from Trinity College Dublin.