Measuring Programming Language Popularity Is Harder Than It Looks

I ran across this site years ago and originally bookmarked it mostly as a reminder to come back later:

[http://www.langpop.com/](https://web.archive.org/web/20120415164137/http://www.langpop.com/) (the site is no longer available this is just a snapshot from the web archive).

The idea behind the site was simple. It tried to gather statistics from a bunch of public sources and use them to infer how popular different programming languages are.

At first glance, this seems reasonable. If enough people are talking about a language, using it, or searching for it, that should tell us something.

But once you look closer, things get messy pretty quickly.

## Popular Does Not Mean Better

I would like to believe that C# is the most popular programming language. It has been my primary language for a long time, and from my perspective, the .NET ecosystem has made huge strides over the years.

That said, most popularity rankings put Java ahead of C#, sometimes by a lot.

Is that because Java is a better language? Not necessarily.

A big part of Java’s numbers likely come from areas where it has been dominant for a long time:

- Mobile development, especially Android
- Enterprise systems that were built years ago and are still running
- Introductory computer science courses

A friend of mine once pointed out that Java shows up everywhere in college CS programs. That alone creates a steady pipeline of developers who list it as a primary skill, even if they later move on to other languages.

## What Are These Metrics Actually Measuring?

This is where things get interesting.

Most language popularity sites pull from sources like:
- Job postings
- Search engine trends
- GitHub repositories
- Stack Overflow questions

Each of those measures something different.

For a long time, Stack Overflow questions were a surprisingly good proxy for language adoption. When lots of people were asking questions, it usually meant lots of people were learning and using that language.

That signal is weaker today. Not because fewer developers exist, but because many of the questions that used to end up on public Q&A sites are now answered directly by AI tools. The work is still happening, but it leaves fewer public traces.

This makes modern popularity rankings tricky. Some metrics now measure how often people ask for help in public, not how often a language is used in production.

Job postings tell you what companies are hiring for, not what people enjoy using. GitHub tells you what people are experimenting with, not what they run in production. Search trends spike when something is confusing or broken, which is not always a good sign.

When you blend all of that together into a single number, you get something that looks scientific but hides a lot of assumptions.

## A More Honest Way to Ask the Question

Instead of asking “What is the most popular programming language?”, better questions might be:

- What languages are most commonly used in production today?
- What languages are being taught to beginners right now?
- What languages are people choosing for new projects?
- What languages have the healthiest ecosystems and tooling?
- What languages are easiest to hire for in a given market?

Each of those questions will give you a different answer, and that is OK.

Trying to collapse all of that into a single popularity ranking is convenient, but it is also misleading.

## A Useful Reminder

There is a quote often attributed to Mark Twain that feels especially relevant here:

> “There are three kinds of lies: lies, damned lies, and statistics.”

The problem is not that statistics are useless. The problem is pretending they are more precise than they really are.

Language popularity metrics can be interesting and even useful, as long as you understand what they are actually measuring and what they are not.

If nothing else, sites like this are a good reminder to be skeptical, especially when a chart looks authoritative but hides all of its assumptions.