Рейтинги языков программирования: что за ними скрывается?

Написать эту статью меня побудил один забавный случай. Он хорошо демонстрирует, что не стоит слепо доверять одному источнику, каким бы авторитетным он ни был. Впрочем, обо всём по порядку. 

Когда только начинаешь карьеру разработчика, часто гложет сомнение: верно ли я выбрал язык программирования? Может, он уже устарел, или наоборот — слишком новый и не факт, что перспективный? Легко ли будет найти по нему актуальные книги и уроки? Много ли таких неофитов будет вместе со мной обивать пороги ИТ-компаний через год-два? 

Опытным разработчикам тоже порой не хватает знания единственного языка программирования. В какой-то момент появляются специфические заказы и интересные вакансии, где крайне желательно владеть вторым (а то и третьим) языком. 

Помочь с выбором языка программирования призваны рейтинги их популярности. Однако тут легко обмануться. Каждый рейтинг составляется по своей методике и даёт разные результаты (порой — весьма неожиданные). В этой статье я постарался сделать более взвешенную оценку популярности языков программирования (далее — ЯП) по нескольким источникам. Подробнее о них и почему это важно — рассказываю ниже.

Индексы популярности

Всё началось с того, что мне попался на глаза свежий рейтинг актуальности ЯП, где в TOP 10 внезапно ворвался Delphi. Пытаясь разобраться в причинах его внезапной популярности в 2025 году, я стал искать методики составления таких списков и нашёл много любопытного. Как обычно, дьявол кроется в деталях. 

Индекс TIOBE — известный инструмент мониторинга, показывающий динамику интереса к разным ЯП. Он учитывает частоту поисковых запросов, связанных с ЯП. Для этого каждый месяц в Google, Bing, Yahoo! и Baidu отправляются запросы по определённому шаблону, чтобы отсеивать из выдачи мусор и корректно сравнивать статистические данные. Дополнительно в рейтинге учитывается число образовательных материалов о ЯП: количество видеоуроков на YouTube, книг на Amazon и упоминаний на Wikipedia. 

Вот как выглядит TOP 10 индекса TIOBE в феврале 2025 года.

Бросается в глаза стремительный рост интереса к Python и снижение популярности до-диез Си шарп. Джаву давно устали хоронить, а она живее всех живых, как и JS, с которым её часто путают. Попадание Delphi на девятое место заслуживает особого внимания.

Вот некоторые соображения о том, чем обусловлено такое распределение.

Лидерство Python обеспечивается его доминированием в сфере AI / ML, где он стал стандартом де-факто. Также Python лёгок в изучении, имеет обширное сообщество и огромное количество библиотек для различных задач (NumPy, XNumPy, Pandas и другие).

C++ имеет стабильно высокую популярность благодаря высокой производительности и огромному наследию. Он используется в написании компонентов ОС, в геймдеве, в облачных приложениях и высоконагруженных системах. Собственно, везде, где нужно выжать максимум. Также у С++ прослеживается некоторая конкуренция с Python в области машинного обучения. В частности C++ используется для создания высокопроизводительных библиотек (Caffe, TensorFlow C++ API).

JavaScript по-прежнему важен в веб-разработке. Это основа фронтенда с развитой экосистемой и активным сообществом, хотя местами JS уже вытесняет TypeScript. 

Рост интереса к Go связан с его удобством в реализации микросервисной архитектуры, которая востребована в разработке облачных сервисов (например, Kubernetes — популярной платформой оркестрации контейнеров) и распределённых систем. Также Go удобен в DevOps. Синтаксис Go сравнительно простой, а код получается быстрым благодаря макроассемблеру.

Попадание Delphi в TOP 10 индекса TIOBE весьма неожиданно. Возможные причины этого: 

· Фокус на стабильность, простоту и скорость разработки (RAD — Rapid Application Development), производительность нативного кода; 

· Кросс-платформенность. Хотя Delphi ассоциируется с Windows, фреймворк FireMonkey (FMX) позволяет разрабатывать графические приложения также для Linux, macOS, iOS и Android; 

· Специфические ниши: разработка корпоративных приложений, баз данных и бизнес-логики.  Многие компании по-прежнему используют Delphi для поддержания и развития существующих систем; 

· Продолжающаяся поддержка и развитие со стороны Embarcadero (версия 12.2 вышла осенью 2024 года).

Ну и последнее возможное объяснение — статистический артефакт. Проще говоря, у дельфийцев нет повода ликовать, а их любимый язык попал в шорт-лист по ошибке. Чтобы выяснить, так это или нет, нужно посмотреть другие рейтинги.

Индекс PYPL — Popularity of Programming Language Index. Похож на TIOBE, но использует в основном данные Google Trends, а также измеряет частоту поиска учебников по ЯП.  Может давать немного другие результаты, чем TIOBE.  Плюсы: простота, доступность данных Google Trends. Минусы: как и TIOBE, косвенный показатель, может отражать больше интерес к изучению, чем реальное использование. Вот срез TOP 10 PYPL за февраль 2025 года.

Python снова лидирует, но его прогресс уже не столь стремительный: +1,6% вместо +8,72% по TIOBE. Второе место в PYPL занимает не С++, а Java. Причём, если TIOBE показывает рост интереса к Java (+1,79%), то в PYPL наоборот — регистрируется спад на 0,8%. Обратите внимание, что Си и С++ здесь считаются вместе.

Десятка лидеров подобралась другая: в PYPL нет Go, Delphi и VisualBasic, но есть R, Rust и TypeScript. По субъективным ощущениям это больше похоже на правду.

TypeScript хоть и едва попал в десятку, имеет хорошие шансы усилить позиции в ближайшие годы.  Он быстро развивается и становится современной заменой JS в веб-разработке. Фактически TypeScript добавляет статическую типизацию к JavaScript и постепенно вытесняет его. 

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

Также хочу обратить внимание на Rust. Как и в случае с Go, его популярности способствует развитие облачных технологий и микросервисов. Подобно Си, Rust не использует сборщик мусора и позволяет осуществлять гибкое управление памятью.  При этом он содержит механизмы защиты данных от изменения со стороны компилятора (borrow checker, lifetimes и т.д.), что положительно влияет на безопасность. Rust привлекателен для системного программирования, особенно для разработки ОС, драйверов и в сфере HPC. Чёрт, да он просто хорош! 

Delphi в PYPL на 30-й позиции с тенденцией к спаду (-0,1%). Примерно там и ожидаешь его увидеть в 2025 году.

Когда у двух рейтингов, составленных по сходной методике, настолько сильные расхождения, стоит обратиться к третьему.

RedMonk Programming Language Rankings:  Более сложный индекс, который использует данные GitHub (количество репозиториев) и Stack Overflow (количество тегов).  Возможно, он лучше отражает реальное использование языков в разработке. Заявлено, что ранжирование проводится аналитиками RedMonk, что добавляет экспертную оценку. Однако методология здесь менее прозрачная, чем у TIOBE и PYPL, а результаты публикуются реже. Взглянем на последние:

Сюрприз! Python уступил JS, а седьмое место поделили С++ с… CSS, который вообще не язык программирования, а язык описания стиля веб-страниц (каскадные таблицы стилей). При этом восьмое место напрочь отсутствует. В обрезанной части рейтинга схожая ситуация: два 12-х места и нет 13-го, три 14-х места и нет ни 15-го, ни 16-го.  Похоже, это особенность ранжирования. Когда несколько языков программирования показывают близкие метрики, им присуждают одно место на всех и объявляют, что победила дружба.

 Список обрывается на 20 пунктах, а Delphi в нём не упоминается. Однако напрямую сравнивать этот рейтинг с предыдущими некорректно, поскольку он обновляется не так часто и охватывает другой временной промежуток.

Любые индексы популярности – это сильное упрощение. Они дают общее представление о трендах, но не являются надёжной количественной мерой. Индексы не отражают ни фактическое количество строк кода, написанных на конкретном языке, ни количество проектов, запущенных на нём, ни распространённость соответствующих вакансий.

Обратимся к источникам другого типа.

Stack Overflow Developer Survey — пожалуй, самый масштабный ежегодный опрос разработчиков в мире.  Он включает в себя вопросы о языках программирования, которые разработчики используют, хотят использовать, считают, что они мастхэв, или наоборот — мастдай.

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

Минусы: смещение в сторону аудитории Stack Overflow, нет количественной оценки реального использования разных ЯП в актуальных проектах.

Вот как выглядит рейтинг ЯП на StackOverflow:

Здесь сравниваются не только ЯП, а технологии разработки в целом. Возможно, поскольку мы говорим именно про ЯП, из рейтинга стоит исключить языки разметки и оформления веб-страниц (HTML/CSS) и язык написания скриптов командного процессора (Bash). Скорее они показывают дополнительные навыки веб-разработки и администрирования, чем программирования, хотя это вопрос философский. Есть приложения, целиком написанные на HTML5 и скрипты, заменяющие ручную обработку в нескольких программах.

Delphi в этом списке на 32-й позиции с индексом популярности 1,8%. Ожидаемо.

Для полноты картины о языках программирования стоит изучить ситуацию на рынке труда.

Данные о вакансиях для разработчиков

Крупные платформы поиска работы редко публикуют инфографику сами, но обычно они предоставляют API для выгрузки данных. Например, вот как выглядит распределение на Head Hunter (в скобках указано число вакансий, упоминающих данный ЯП):

  1. Python (10 526)
  2. JavaScript (6198)
  3. Java (4354)
  4. C++ (3283)
  5. Go (3023)
  6. C# (2569)
  7. TypeScript (2067)
  8. Kotlin (1066)
  9. Swift (775)
  10. Visual Basic (265)

По запросу «Delphi» на HH найдено всего 235 вакансий, а Rust — 162 за всё время во всех регионах России. 

Количество вакансий, требующих знания определённого языка, является хорошим индикатором спроса на соответствующих разработчиков, но только с географической привязкой (это не мировой рейтинг). 

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

Статистика использования платформ и сервисов

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

Минусы подхода: сильное смещение фокуса на Open Source, что делает его неприменимым для анализа сегмента с закрытым исходным кодом.

Дополнительные источники данных

Количество загрузок пакетов для определённого языка может быть индикатором его использования в проектах.

Плюсы: доступность данных, объективное отражение интереса со стороны разработчиков. Минусы: результат зависит от популярности всей экосистемы пакетов, он может не учитывать внутренние библиотеки и проекты.

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

Конференции и мероприятия для разработчиков.
Темы докладов и число участников конференций могут указывать на востребованные языки программирования (а может просто организатор закатил банкет и раздаёт всем крутые презенты).

Вместо заключения

Популярность языков программирования отражает текущие тренды:

  • расширение сферы машинного обучения усиливает позиции Python;
  • развитие облачных технологий и микросервисов способствует росту Go и Rust;
  • усложнение веб-разработки приводит к увеличению популярности TypeScript;
  • потребность в высокой производительности поддерживает востребованность C++.

Актуальность ЯП — весьма динамичный показатель, и в будущем наверняка произойдут существенные изменения. Например, появляются новые языки (Mojo, Julia и другие), которые могут повлиять на расстановку сил в сфере ML и HPC.

Инфографика искушает красотой и лёгкостью восприятия, но важно понимать методику её построения. Иначе вы рискуете сделать неверный вывод и потратить годы на изучение умирающего языка.

Например, резкий взлёт Delphi на 9-е место популярного рейтинга TIOBE оказался статистическим артефактом, который не подтвердил ни один другой информационный ресурс. Похоже, это просто следствие маркетинговых усилий Embarcadero.

Для надёжной оценки популярности языков программирования сравнивайте разные источники данных. Комбинируйте индексы и опросы. Анализируйте рынок труда. Смотрите статистику использования платформ и темы конференций для разработчиков. Используя комплексный подход, можно получить более полное представление о текущей популярности языков программирования и об их перспективах.

Надеюсь, данная статья поможет вам сделать осознанный выбор и освоить перспективный язык программирования, который будет востребован ещё много лет в разных отраслях.