Main image of article Python Heads IEEE List of Top Programming Languages

Deciding which programming languages are the “most popular” is always something of a subjective exercise—or a fool’s errand. No matter what methodology you use to determine one language’s usage over another, you’re going to find someone who disagrees with you.

That said, it would be hard to disagree with much of the newest edition of the top programming languages list generated by IEEE Spectrum, which places Python in the number-one spot, followed by Java, C, C++, and R. (Actually, R’s placement is a bit surprising, but we’ll get to that in a minute.)

IEEE starts with a list of 300 languages from GitHub. From there, according to its methodology page, it analyzes search data: “We looked at the volume of results found on Google when we searched for each one using the template ‘X programming’ where ‘X’ is the name of the language.” In addition to data from Google Search and Google Trends, it also incorporates data from Twitter, Stack Overflow (i.e., measuring the number of questions that mention each language), Reddit, Hacker News, CareerBuilder, and IEEE’s Job Site and Xplore Digital Library. All that analysis results in a net score; take a look at the top ten:

In some ways, that’s similar to the methodology that other organizations use to create their lists, including TIOBE, which analyzes data from a variety of aggregators and search engines, including Wikipedia and Google. (For a language to place on TIOBE’s rankings, it must also be Turing complete, have its own Wikipedia entry, and earn more than 5,000 hits for +”<language> programming” on Google.)

Although some observers might take issue with IEEE’s breakdown (for example, some might argue that JavaScript should place higher than its sixth-place finish), it’s pretty clear that Python remains a robust language for work across the web, embedded systems, and enterprise platforms (although it lags Java, C, Kotlin, and Swift when it comes to mobile aptitude, at least according to this breakdown).

Python’s increasing use in specialist segments such as data analytics, finance IT, and even machine learning means it’s only becoming more vital to technologists. Fortunately, that also means it’s a language with a ton of online documentation, including tutorials of its more esoteric aspects (including GUIs, for example) so it’s easy to get started if you’re interested in it.  

Which brings us to R and its high placement on IEEE’s list. For years, R was regarded as a specialist language, used primarily in data science. It’s beloved by many data scientists and academic institutions—however, there’s been much debate in recent years over whether Python is eroding R’s market-share.

“R has issues with scalability,” Enriko Aryanto, the CTO and a co-founder of the Redwood City, Calif.-based QuanticMind, a data platform for intelligent marketing, told Dice earlier this year. “It’s a single-threaded language that runs in RAM, so it’s memory-constrained, while Python has full support for multi-threading and doesn’t have memory issues. When choosing a language, it all comes down to choosing what’s best to solve your problem.” Companies need a language that scales for big data projects, which potentially limits R’s use.

So with that context, it’s surprising to see R on this list—it’s not considered a broadly used language, and, unlike the languages around it, it doesn’t play much of a role in building web or mobile apps or services. How it beat JavaScript, C#, Swift, PHP, and others is an interesting question, and the answer is no doubt buried deep in IEEE’s methodology.