We ran a piece last year summarizing an IEEE study of programming-language popularity based on job listings. This article fostered conversation, including debates about whether the languages IEEE used in its survey were even languages.
Most of us are familiar with polls and poll results, especially during campaign seasons. Unfortunately, polls have long been proven to be far from accurate. Some polls have a natural bias for one party or the other (not for nefarious reasons, but just based on how they gather their data). Other polls have demographic or psychographic bias. The bottom line is simple: just because the numbers go up in one poll doesn't mean your candidate will win.
Also: Brace yourself: The era of 'citizen developers' creating apps is here, thanks to AI
Political analysts have developed a technique for compiling a somewhat more accurate picture from polling data. They do this by aggregating the results from multiple polls to level out the bias and produce a more accurate picture of the field overall.
We have the same problem with programming language surveys. A survey of membership taken by IEEE, a society of electrical engineers, is likely to have different results than a survey of the number of tutorials on a language offered, as retrieved from Google (the PYPL survey). I'll detail each survey in a bit.
To compile the Index of Programming Language Popularity, we're taking a page from the world of political analysis: we're aggregating survey data from nine different rankings. That approach should help us see which languages are popular across survey methods and provide a more comprehensive understanding of language interest and usage.
Let's start with why people want to know the most popular languages. Usually, when it comes to students, they ask which language is the most popular because they want to learn subjects where there are jobs. For most people, gaining knowledge about something not in demand doesn't make sense.
Also: The best AI for coding in 2025 (and what not to use - including DeepSeek R1)
Other times, skilled programmers want to gauge whether their current skills are relevant or whether it's time to consider other languages. Shifts in popularity might mean it's time to learn a new language.
Developers who are building products also want to know about popular languages. If they're building application programming interfaces or other compatibility options, they want to ensure they produce solutions customers will use. It's crucial to support the most popular environments.
Also: 10 professional developers on vibe coding's true promise and peril
Finally, if you're starting a project, you need to choose what language to build in. Your first criterion should always be to use a language that can get the job done. If one language is hugely popular but would take two years to code, and another is less popular but would take two months for your application, you should choose the less popular language. But, all things being equal, choosing a more popular language generally means access to more programmers and resources, so that's an important consideration as well.
So, which language is the most popular? That question is not as easy to answer as you might think. The key is to determine what defines popular.
This is such an open question that there's a Wikipedia article devoted to measuring programming language popularity. The article shows many possible factors for measuring popularity, including:
Even that list isn't complete. You could add some of these metrics to the list:
You get the idea. The indexing process can get even more complicated if you factor in popularity across nations. Are some languages more popular in India, the US, or Europe?
The bottom line is that popularity is not a single vector answer.
Therein lies the rub. Even with an understanding that popularity can be measured across many different factors, students and professionals still want to know if they're guiding their careers and companies in the right direction. We turned to nine indexes from five organizations to gather our raw data. Two indexes, from PYPL and Tiobe, were updated in April 2025. The others were updated last year. The GitHub model was updated in 2023, but we're including it because it's GitHub.
Some indexes tracked a relatively small number of languages, while others spent considerable time on the long tail. My aggregation model captured the top 20 languages (if provided) from each index.
I combined the various sources mentioned above. To help narrow down the list, I only took languages listed in five or more indexes. PYPL listed C and C++ together, so in that one instance, I broke them out as two listings and gave them the same weight.
Also: 10 key reasons AI went mainstream overnight - and what happens next
In my previous article on this topic, there was a debate about whether HTML (the language of web pages) or SQL (a query language for databases) areactuallylanguages. Rather than impose my value judgment, I included them because they were listed in more than five indexes. I did the same for "shell" and included any shell language.
The result was the rankings in the following chart (updated April 2025):
Combined chart of language popularity metrics.
However, the problem with this result is that the table doesn't tell you where to focus. To get to the heart of the matter, I did some data analysis. I aggregated the data from all nine sources. Then I weighted each language based on where it appeared on each chart and how many times it appeared. I took the top 19 results and generated the following language cluster aggregation chart. I wanted 20 results, but no other language appeared on five or more indexes, so we wound up with 19, Here's our latest popularity index, updated as of April 2025.
Weighted aggregate analysis based on the criteria described in this article.
As you can see, there are five clusters of languages. The top cluster contains Python, JavaScript, and Java. These are all representative of the world of AI coding. Without a doubt, you should be familiar with these three languages. The next cluster contains the classic C-based languages, and SQL and TypeScript (a more robust JavaScript variant).
The following cluster includes languages that dominated a while ago, the web languages used to build and operate websites, followed by a range of other languages that are either growing in popularity (R, Dart) or dropping in popularity (Ruby).
Also: How to use ChatGPT to write code - and my favorite trick to debug what it generates
Finally, at the bottom is Swift, Apple's language of choice. Objective-C, the previous language of Apple programming, has dropped off the list since Apple launched Swift. However, while Apple boasts many developers, Swift is not a standout programmer interest.
Again, what do these results tell us? If you know about modern coding, you realize you're not just using a language. You'realwaysdeveloping something, whether an embedded system, an iPhone, a web application, or a Microsoft server application.
Language familiarity is only a piece of the puzzle. For example, no matter how much you like Python or the very-ancient-but-still-ticking C, if you're programming WordPress plugins or themes, you're writing in JavaScript and PHP.
Also: AI accelerates software development to breakneck speeds, but measuring that is tricky
It doesn't matter how popular the other languages are. If your employer is a Microsoft developer, you better know C#. And if you're planning on coding for an AI application, you'll need Python and it probably wouldn't hurt to come up to speed on R.
There are some other interesting things I'd like to make sure you note. First, the top language in the IEEE Job index was SQL. That makes sense, except it doesn't. You very rarely only code in SQL. You use SQL to access data but manage those queries in another language. So, it's a good idea to know SQL. However, just taking an SQL course won't guarantee a job, big money, or a life on Easy Street.
Also: How to use ChatGPT to write code: What it can and can't do for you
That reality goes directly to how job listings work. Most programming jobs list a variety of languages. That's because most real-world projects require a mix of tools. So, even if you see an ad for a Java programmer, SQL is probably in the mix. And if you count languages on job boards, that's why SQL is likely near the top.
Second, the Apple-specific languages are lower on the charts than you might initially expect, given the popularity of iOS apps. But that positioning makes sense. If you want to go off and build your app, you want to learn those languages. However, not many companies hire Apple app developers, at least primarily. That's why Swift is relatively far down the chart. Objective-C is being usurped by Swift -- and we can see its popularity drop before our eyes.
Also: The best free AI courses and certificates in 2025
With the exception of Java, the C-family of languages still dominates. C++, C, C#, and even Objective-C are all C-based languages. However, if you're only going to learn one language, those are no longer the languages I'd immediately recommend you learn. Today, I'd recommend Python, Java, and JavaScript instead.
At this point in my career, I can program, off the top of my head, in something like 20 languages. I can generally pick up a new language in a matter of days. That's because my engineering school thesis was in language design, and I've been teaching programming on and off for 20 years. Being multilingual has helped me because I almost always choose a language for my job, not because I only took one course, and that's all I know. This reality may sound intimidating, but you can do it, too.
My advice to you, especially if you want to move into programming, is to learn multiple languages and multiple frameworks. Build things in the languages. Programming is not just an intellectual exercise. You have to make stuff.
Being comfortable in multiple languages and frameworks is crucial because the computer industry is changing. So, learning how to learn languages is as important as learning a language -- and the best way to do that is to learn more than one.
Go ahead. Learn some languages. Build great stuff. Tell us about it in the comments below.
You can follow my day-to-day project updates on social media. Be sure to subscribe to my weekly update newsletter, and follow me on Twitter/X at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.