На основе глобально доступных открытых данных, собранных за последние 12 месяцев (март 2025 – февраль 2026), были определены самые популярные языки программирования. Некоторые результаты этого анализа, охватывающего более 1000 языков, представлены в этой статье и сопроводительном видео. Рейтинг был составлен на основе статистики просмотров страниц английской версии Википедии, которая служит полезным индикатором того, какие технологии привлекают наибольшее внимание читателей по всему миру.

Полное видео:

Популярность языков программирования — тема, которая уже много лет вызывает интерес в индустрии программного обеспечения. Существуют многочисленные индексы, пытающиеся её измерить. Например, TIOBE отслеживает поисковые запросы, PYPL измеряет тренды поиска обучающих материалов, а Stack Overflow Developer Survey агрегирует данные о самооценке использования. Каждый из этих подходов отражает определённую грань популярности, но ни один не даёт полной картины.

Просмотры страниц Википедии дают уникальную, общедоступную возможность увидеть, какие языки программирования привлекают внимание людей. Рейтинг подтверждает, что такие устоявшиеся языки, как C, Python и JavaScript, продолжают доминировать, одновременно подчёркивая заметный интерес к более новым языкам, таким как Go, Rust и Zig. Данные также выявляют неожиданные результаты — R опережает JavaScript по просмотрам со стороны пользователей, Brainfuck входит в топ-20, а Scratch соперничает с SQL по числу читателей.

Этот рейтинг, основанный на данных Википедии, можно сочетать с другими источниками данных (звёзды на GitHub, вопросы на Stack Overflow, вакансии, загрузки пакетов), чтобы получить более целостную картину популярности языков программирования. Каждый источник отражает свою грань «популярности», а их объединение уменьшает смещение, присущее любой отдельной метрике.

Как собирались данные

Процесс сбора данных состоял из четырёх основных этапов, каждый из которых был разработан для максимального охвата при минимизации шума.

Этап 1: Построение основного списка статей о языках программирования

Первым шагом был широкий поиск всех статей Википедии, которые потенциально могли быть посвящены языкам программирования. Использовались три взаимодополняющих источника:

  • Дерево категорий Википедии: категория «Category:Programming languages» и все её подкатегории (до 5 уровней в глубину, с возможностью рекурсивного обхода через API Википедии или дампы). Подкатегории, содержащие ключевые слова вроде «software», «companies», «people», «tools», «libraries» и «frameworks», исключались.
  • Список Википедии: были обработаны все внутренние ссылки из курируемой статьи Википедии «List of programming languages».
  • Дополнительные статьи-списки: ссылки также извлекались из связанных статей, таких как «List of programming languages by type», «Comparison of programming languages», «Timeline of programming languages» и других.

После объединения и удаления дубликатов из всех трёх источников был получен широкий список кандидатов, включающий примерно 4700 уникальных статей.

Этап 2: Фильтрация с помощью Викиданных

Широкий список из категорий Википедии неизбежно включает статьи об инструментах, парадигмах, людях и концепциях — а не только о языках. Чтобы отделить настоящие языки программирования от шума, SPARQL-сервис Викиданных был запрошен для всех элементов, классифицированных как instance of (P31) → programming language (Q9143). Это дало набор семантически подтверждённых языков программирования со ссылками на их англоязычные статьи в Википедии.

Этот фильтр Викиданных был объединён с эвристикой по шаблону заголовка: любая статья, содержащая в заголовке «(programming language)», также принималась. Кроме того, поддерживались вручную составленные списки включения и исключения для обработки пограничных случаев — таких как статьи «PHP» или «Kotlin», которые Викиданные классифицирует правильно, но названия которых в Википедии не следуют стандартному шаблону, а также статьи вроде «Arduino» или «The C Programming Language» (книга), которые нужно было явно исключить.

Этап 3: Получение данных о просмотрах страниц

Для каждой подтверждённой статьи о языке программирования были получены помесячные данные о просмотрах страниц (доступные через дампы Wikimedia pageviews или API), охватывающие полный период с 1 марта 2025 года по 28 февраля 2026 года. Важно, что собирались два варианта данных:

  • Просмотры только пользователями: исключают автоматический трафик от ботов, веб-краулеров и пауков. Это отражает подлинный человеческий интерес.
  • Просмотры всеми агентами: включают весь трафик, что полезно для понимания общей видимости.

Рейтинг отсортирован по просмотрам только пользователями, поскольку эта метрика точнее отражает реальное человеческое любопытство и вовлечённость.

Этап 4: Подсчёт просмотров через перенаправления

В Википедии существует развитая система перенаправлений — альтернативных названий, которые ведут на одну и ту же статью. Например, статья «JavaScript» получает трафик не только по своему основному названию, но и через такие перенаправления, как «Javascript» (со строчной буквой s), «Server-side JavaScript», «Client-side JavaScript», «.js» и более 60 других вариантов. Поэтому для каждой статьи о языке программирования были найдены все перенаправления, и данные о просмотрах собирались отдельно для каждого из них. Общее число просмотров для каждого языка — это сумма просмотров основной статьи и всех просмотров через перенаправления.

Топ-25 языков программирования

В следующей таблице представлены 25 самых популярных языков программирования, ранжированных по числу пользовательских просмотров за 12-месячный период (март 2025 – февраль 2026):

Место Язык Просмотры пользователями Просмотры всеми агентами Перенаправления
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

Другие популярные языки программирования можно найти в видео «Top Programming Languages 2025/2026 by Wikipedia Traffic».

Некоторые интересные наблюдения:

  • Язык Си (C) занимает 1-е место по пользовательским просмотрам, несмотря на то, что Python лидирует по просмотрам всеми агентами. Это говорит о том, что статья о Python привлекает значительно больше бот-трафика — вероятно, от автоматизированных инструментов и скраперов, ссылающихся на его документацию.
  • Соотношение бот-трафика у Java впечатляет: 684 тыс. пользовательских просмотров против почти 3,9 млн просмотров всеми агентами — множитель 5,7×, самый высокий среди топ-10. Доминирование Java в корпоративных системах означает, что многие автоматизированные системы обращаются к её статье в Википедии.
  • Язык R на 3-м месте — это «сюрприз»: он опережает JavaScript и C++ по пользовательским просмотрам, что, возможно, отражает растущее распространение языка в data science и академической среде, где Википедия может служить точкой отсчёта.
  • Go и Rust оба входят в топ-10, что может отражать сильный импульс современных системных языков программирования.
  • Scratch на 9-м месте демонстрирует огромный охват образовательного программирования.

Сложности при создании рейтинга

Построение этого рейтинга оказалось далеко не простой задачей. Пришлось решить несколько серьёзных проблем.

1. Что считать «языком программирования»?
Это самая фундаментальная проблема. Является ли CSS языком программирования? А SQL, TeX или HTML? Bash — это язык программирования или оболочка? Являются ли специализированные языки, такие как MATLAB или SAS, «настоящими» языками программирования? Разные источники дают разные ответы.

2. Шум в категориях Википедии.
Дерево «Category:Programming languages» в Википедии содержит тысячи статей, но подавляющее большинство из них посвящено не конкретным языкам программирования. В подкатегориях встречаются статьи о концепциях программирования, программных инструментах, компаниях, известных программистах и функциях IDE. Первичный сбор дал примерно 4700 статей, но только около 1050 (примерно 22%) оказались действительно языками программирования — что потребовало многоэтапного процесса фильтрации.

3. Викиданные как классификатор.
Одним из практических решений было использование Викиданных: если элемент классифицирован как язык программирования (P31 = Q9143), он включался в выборку. Это покрывает большинство случаев, но всё равно потребовалась ручная проверка примерно 100 пограничных случаев.

Дополнительная сложность заключается в том, что некоторые элементы Викиданных, представляющие языки программирования, не относятся напрямую к «языку программирования» (Q9143). Вместо этого они могут быть отнесены к более специфическим подклассам языков программирования. Например, элемент для C# не является напрямую языком программирования (Q9143), но относится к другим релевантным элементам:

  • многопарадигменный язык программирования (Q12772052),
  • язык программирования, основанный на классах (Q28922858),
  • язык программирования высокого уровня (Q211496),
  • строгий язык программирования (Q28923017),
  • событийно-ориентированный язык программирования (Q28920813),
  • императивный язык программирования (Q21562092),
  • функциональный язык программирования (Q3839507),
  • обобщённый язык программирования (Q28923026).

4. Дубликаты и алиасы.
Некоторые языки фактически появляются в Википедии дважды. Например, у BASIC есть десятки диалектов (GW-BASIC, Applesoft BASIC, BBC BASIC), и у каждого есть собственная статья — считать ли их отдельно или объединять с основным языком? В этом рейтинге отдельные статьи Википедии учитываются раздельно, но явные варианты на уровне реализации (например, «Turbo Pascal», который является инструментом, а не отдельным языком) были исключены.

5. Проблема неоднозначности.
Многие языки программирования имеют названия, совпадающие с обычными словами. «C» — это буква, «R» — это буква, «Go» — это глагол, «Rust» — химический процесс, «Swift» — прилагательное и птица, «Julia» — имя. Википедия решает эту проблему, добавляя к названиям статей «(programming language)», но это создаёт и свои сложности — не все языки следуют этой конвенции (например, «JavaScript», «Fortran», «COBOL»), что делает автоматическое распознавание непоследовательным.

6. Сложность перенаправлений.
Система перенаправлений Википедии — это одновременно и благо, и проблема. У некоторых языков десятки перенаправлений. Например, у JavaScript их более 60, у PHP — более 75. Для каждого перенаправления нужно отдельно запрашивать данные о просмотрах. Статья Fortran получает значительный трафик от перенаправления «FORTRAN» (39 662 просмотра), поскольку написание заглавными буквами было исходным вариантом названия. Если не учитывать такие перенаправления, можно сильно занизить реальную читательскую аудиторию языка.

7. Искажение из-за бот-трафика.
Просмотры всеми агентами могут вводить в заблуждение. У Python и Java почти по 4 миллиона просмотров всеми агентами, но гораздо меньше пользовательских просмотров (1,5 млн и 684 тыс. соответственно). Этот разрыв отражает автоматизированный трафик и делает метрику «all-agents» ненадёжной для сравнения подлинного человеческого интереса. Эта проблема была решена с помощью фильтра типа агента user, предоставляемого Wikimedia (через API или соответствующие дампы), который исключает известных ботов и пауков.