Using open data collected over the past 12 months (March 2025 – February 2026), the most popular programming languages were identified. Some results of this analysis, covering more than 1,000 languages, are presented in this article and the accompanying video. The ranking was prepared using pageview statistics from the English edition of Wikipedia, which provide a useful indicator of which technologies attract the most attention from readers around the world.
Watch the full video:
Programming language popularity is a subject of enduring interest in the software industry. Numerous indices attempt to quantify it, for example, TIOBE tracks search engine queries, PYPL measures tutorial search trends, and the Stack Overflow Developer Survey aggregates self-reported usage. Each of these approaches captures a particular facet of popularity, but none tells the full story.
Wikipedia pageviews offer a unique, publicly accessible window into which programming languages capture human attention. The ranking confirms that established languages like C, Python, and JavaScript continue to dominate, while also highlighting the remarkable interest in newer languages like Go, Rust, and Zig. The data reveals surprising entries — R outranking JavaScript in user views, Brainfuck cracking the top 20, and Scratch rivaling SQL in readership.
This Wikipedia-based ranking can be combined with other data sources (GitHub stars, Stack Overflow questions, job listings, package downloads) to build a more holistic picture of programming language popularity. Each source captures a different facet of “popularity”, and combining them reduces the bias inherent in any single metric.
How the Data Was Collected
The data collection pipeline consisted of four major stages, each designed to maximize coverage while minimizing noise.
Stage 1: Building the Master List of Programming Language Articles
The first step involved casting a wide net to identify every Wikipedia article that could potentially be about a programming language. Three complementary sources were used:
- Wikipedia category tree: the “Category:Programming languages” and all its subcategories (up to 5 levels deep, can be recursively crawled using the Wikipedia API or dumps). Subcategories containing keywords like “software”, “companies”, “people”, “tools”, “libraries” and “frameworks” were excluded.
- Wikipedia list: all internal links were parsed from Wikipedia’s curated “List of programming languages” article.
- Additional list articles: links were also extracted from related articles such as “List of programming languages by type”, “Comparison of programming languages”, “Timeline of programming languages” and others.
After merging and deduplicating all three sources, a broad candidate list of approximately 4,700 unique articles was obtained.
Stage 2: Filtering with Wikidata
A broad list from Wikipedia categories inevitably includes articles about tools, paradigms, people, and concepts — not just languages. To separate actual programming languages from the noise, Wikidata’s SPARQL endpoint was queried for all items classified as instance of (P31) → programming language (Q9143). This yielded a set of semantically confirmed programming languages with links to their English Wikipedia articles.
This Wikidata filter was combined with a title-pattern heuristic: any article containing “(programming language)” in its title was also accepted. Additionally, manually curated inclusion and exclusion lists were maintained to handle edge cases – articles like “PHP” or “Kotlin” that Wikidata classifies correctly but whose Wikipedia titles don’t follow the standard pattern, and articles like “Arduino” or “The C Programming Language” (the book) that needed to be explicitly excluded.
Stage 3: Fetching Pageview Data
For each confirmed programming language article, monthly pageview statistics were fetched (available from Wikimedia pageviews dumps or API) covering the full period from March 1, 2025 through February 28, 2026. Crucially, two variants were collected:
- User-only pageviews: excludes automated traffic from bots, web crawlers, and spiders. This represents genuine human interest.
- All-agents pageviews: includes all traffic, useful for understanding total visibility.
The ranking is sorted by user-only pageviews, as this metric more accurately reflects real human curiosity and engagement.
Stage 4: Counting Redirect Pageviews
Wikipedia has a rich system of redirects – alternative titles that all point to the same article. For example, the “JavaScript” article receives traffic not only from its main title but also from redirects like “Javascript” (lowercase), “Server-side JavaScript”, “Client-side JavaScript”, “.js” and over 60 other variants. So, all redirects for each programming language article were discovered and pageviews were fetched for every redirect individually. The total pageview count for each language is the sum of its main article views plus all redirect views.
Top 25 Programming Languages
The following table presents the top 25 programming languages ranked by user pageviews over the 12-month period (March 2025 – February 2026):
| Rank | Language | User Pageviews | All-Agents Pageviews | Redirects |
|---|---|---|---|---|
| 1 | C | 2,083,009 | 2,855,254 | 36 |
| 2 | Python | 1,479,541 | 3,866,081 | 50 |
| 3 | R | 957,278 | 1,414,353 | 35 |
| 4 | JavaScript | 795,448 | 1,323,011 | 63 |
| 5 | C++ | 731,432 | 1,144,092 | 53 |
| 6 | Go | 712,260 | 1,059,793 | 23 |
| 7 | Java | 684,366 | 3,923,859 | 32 |
| 8 | Rust | 658,305 | 893,582 | 20 |
| 9 | Scratch | 617,043 | 769,830 | 25 |
| 10 | SQL | 489,426 | 752,198 | 56 |
| 11 | Assembly language | 463,646 | 645,194 | 42 |
| 12 | C# | 379,712 | 579,767 | 46 |
| 13 | Fortran | 359,321 | 516,597 | 43 |
| 14 | COBOL | 354,438 | 473,031 | 45 |
| 15 | PHP | 351,219 | 646,422 | 75 |
| 16 | Bash | 302,585 | 1,134,473 | 43 |
| 17 | Lua | 302,091 | 455,979 | 26 |
| 18 | Lisp | 297,689 | 405,737 | 28 |
| 19 | Brainfuck | 293,792 | 359,125 | 23 |
| 20 | TypeScript | 264,795 | 369,555 | 4 |
| 21 | BASIC | 223,802 | 341,446 | 37 |
| 22 | SNOBOL | 219,464 | 427,549 | 9 |
| 23 | Kotlin | 212,467 | 292,813 | 5 |
| 24 | MATLAB | 210,844 | 328,261 | 17 |
| 25 | Ada | 209,563 | 304,786 | 25 |
Other popular programming languages can be found on the video “Top Programming Languages 2025/2026 by Wikipedia Traffic“.
Some interesting observations:
- C takes the #1 spot for user pageviews, despite Python leading in all-agents traffic. This suggests Python’s article attracts significantly more bot traffic — likely from automated tools and scrapers referencing its documentation.
- Java’s bot ratio is striking: it has 684K user views but nearly 3.9M all-agents views — a 5.7× multiplier, the highest among the top 10. Java’s dominance in enterprise systems means many automated systems reference its Wikipedia page.
- R at #3 is a “surprise”, it outranks JavaScript and C++ by user pageviews, possibly reflecting the language’s growing adoption in data science and academia, where Wikipedia can appear as a reference point.
- Go and Rust both appear in the top 10, which may reflect the strong momentum of modern systems programming languages.
- Scratch at #9 demonstrates the educational programming space’s massive reach.
Challenges of Creating the Ranking
Building this ranking was far from straightforward. Several significant challenges had to be addressed.
1. What counts as a “programming language”?
This is the most fundamental challenge. Is CSS a programming language? What about SQL, TeX, or HTML? Is Bash a programming language or a shell? Are domain-specific languages like MATLAB or SAS “real” programming languages? Different sources give different answers.
2. Wikipedia category noise.
The “Category:Programming languages” tree on Wikipedia contains thousands of articles, but the vast majority are not about specific programming languages. Articles about programming concepts, software tools, companies, notable programmers, and IDE features all appear in subcategories. The initial scrape yielded approximately 4,700 articles, but only about 1,050 (roughly 22%) turned out to be actual programming languages — requiring a multi-stage filtering pipeline.
3. Wikidata as a classifier.
One of the pragmatic solutions was to use Wikidata: if an item is classified as a programming language (P31 = Q9143), it was included. This covers most cases but still required manual curation for about 100 edge cases.
An additional complication is that some Wikidata items representing programming languages are not directly assigned to a programming language (Q9143). Instead, they may be classified under more specific subclasses of programming languages. For example, the item for C# is not directly a programming language (Q9143) but it assigned to other relevant items:
- multi-paradigm programming language (Q12772052),
- class-based programming language (Q28922858),
- high-level programming language (Q211496),
- strict programming language (Q28923017),
- event-driven programming language (Q28920813),
- imperative programming language (Q21562092),
- functional programming language (Q3839507),
- generic programming language (Q28923026).
4. Duplicates and aliases.
Some languages effectively appear twice in Wikipedia. For instance, BASIC has dozens of dialects (GW-BASIC, Applesoft BASIC, BBC BASIC) each with their own article – should these count separately or be folded into the parent? For this ranking, distinct Wikipedia articles are counted separately, but clear implementation-level variants (like “Turbo Pascal” being a tool, not a distinct language) were excluded.
5. The disambiguation problem.
Many programming languages share names with common words. “C” is a letter, “R” is a letter, “Go” is a verb, “Rust” is a chemical process, “Swift” is an adjective and a bird, “Julia” is a name. Wikipedia handles this by appending “(programming language)” to article titles, but this creates its own problems – not all languages follow this convention (e.g., “JavaScript”, “Fortran”, “COBOL”), making automated detection inconsistent.
6. Redirect complexity.
Wikipedia’s redirect system is both a blessing and a curse. Some languages have dozens of redirects. For instance, JavaScript has over 60, PHP has over 75. Each redirect must be individually queried for pageviews. The Fortran article receives significant traffic from the “FORTRAN” redirect (39,662 views) since the uppercase spelling was the original name. Missing these redirects would drastically undercount a language’s true readership.
7. Bot traffic distortion.
All-agents pageviews can be misleading. Python and Java each have nearly 4 million all-agents views but far fewer user views (1.5M and 684K respectively). This gap represents automated traffic and makes the “all-agents” metric unreliable for comparing genuine human interest. This was addressed by using the user agent type filter provided by the Wikimedia (API or appropriate dump files), which excludes known bots and spiders.