Вечнозеленая тема — рейтинги популярности языков программирования. Говорят, что они в основном интересуют слушателей ИТ-курсов, но в майском рейтинге 2024 есть и небольшая сенсация. В ТОП-10 индекса TIOBE вернулся Fortran, — язык, ведущий историю с 1957 года (кстати, последняя версия выпущена в 2023). Насколько можно верить разным рейтингам и не пора ли инфоцыганам запускать курсы на Fortran? Что еще — различные рейтинги дают кардинально разные оценки популярности языкам, идущим на позициях далее ТОП-5 или ТОП-7. Такие они, рейтинги.
***
В мае 2024 года опубликованы обновления по двум ключевым рейтингам: Tiobe Index и PYPL. Как бы вы не относились к идее рейтингов и теме популярности языков, поглядывать в эту сторону все же стоит. Хотя бы для того, чтобы, например сказать себе — «Мой С# (или Java, или C++, и т.д.) по-прежнему популярен. Причин для беспокойства нет, полет нормальный».
Tiobe Index
Индекс сообщества программистов TIOBE — это показатель популярности языков программирования. Для расчета рейтинга используются результатов поисковых запросов, содержащих название языка на популярных сайтах: Google, Amazon, Wikipedia, Bing и более чем 20 других. Индекс TIOBE не старается определить так называемый «лучший» язык программирования или язык, на котором написано больше всего строк кода. Tiobe Index обновляется раз в месяц.
Вот что пишет Пол Янсен, генеральный директор TIOBE Software про майские результаты:
«Я получил много вопросов о том, почему Fortran снова вошел в десятку лучших после более чем 20 лет. Индекс TIOBE публикует только то, что было измерено. Например, на Amazon, который является ведущей компанией по продаже книг, по запросу "программирование на Фортране" насчитывается более 1 000 просмотров книг. Новые крутые языки, такие как Kotlin и Rust, набирают втрое меныший результат по схожему поисковому запросу. Так что же происходит? Во-первых, язык Fortran продолжает развиваться с момента своего появления в 1957 году. Менее полугода назад было опубликовано новое определение ISO Fortran 2023.
Основная причина воскрешения Fortran — растущая важность численных/математических вычислений. Несмотря на множество конкурентов в этой области, Fortran имеет свои причины для существования. Давайте вкратце рассмотрим конкурентов. Python: выбор номер один, но медленный, MATLAB: очень прост в использовании для математических вычислений, но поставляется с дорогими лицензиями, C/C++: мейнстримный и быстрый, но не имеет встроенной поддержки математических вычислений, R: очень похож на Python, но менее популярен и медленный, Julia: восходящий новичок, но еще не созрел. И в этих джунглях языков Фортран кажется быстрым, имеющим встроенную поддержку математических вычислений, зрелым и бесплатным. Тихо, медленно, но верно Фортран отвоевывает позиции. Это удивительно, но неоспоримо».
Да, появление Fortran в ТОП-10 — это интересное событие, но вряд ли надо все бросать и идти учить Fortran. По крайней мере в России. На момент написания статьи на hh.ru было всего 5 вакансий, где требовалось знание Fortran. Для сравнения, вакансий со знанием Java было около 1 тысячи, а C# — около 500.
Индекс Popularity of Programming Language (PYPL)
Индекс PYPL — второй по популярности показатель, на который традиционно ориентируется ИТ-индустрия. Этот индекс формируется на основе анализа того, сколько раз учебные (справочные) материалы по языкам ищут в Google, а также на основе анализа необработанных данных Google Trends. На сайте показаны 28 лучших языков и их рейтинг. Как и TIOBE, он показывает текущий рейтинг, а также ежегодные изменения в рейтинге.
PYPL также предлагает функцию, позволяющую узнать, насколько популярен тот или иной язык в мире или в конкретной стране (выбор из 5 стран, и РФ в этом списке нет).
По данным PYPL, четыре лучших языка программирования на данный момент — это Python, Java, JavaScript и C#, причем Python является самым популярным языком во всем мире.
Надо отметить, что владельцы PYPL явно недолюбливают TIOBE Index (в обратную сторону такого не замечено). Так, на сайте индекса PYPL в разделе FAQ представлена критическая запись относительно TIOBE Index, где подчеркиваются некоторые недостатки методологии TIOBE для оценки популярности языков программирования.
Основные аргументы PYPL следующие:
TIOBE Index is a lagging indicator: PYPL утверждает, что TIOBE Index является запаздывающим индикатором, так как он учитывает количество веб-страниц с упоминанием языка программирования (хотя сам TIOBE пишет, что ориентируется на число поисковых запросов).
Сравнение с Objective-C (классическим С): PYPL приводит пример, что Objective-C имеет более 20 миллионов страниц в сети, в то время как C — только 11 миллионов. Это, по мнению PYPL, объясняет высокий рейтинг Objective-C в индексе TIOBE.
Критика на основе Google Trends: PYPL указывает, что согласно данным Google Trends, поисковые запросы по Objective-C значительно реже, чем по C++, что ставит под сомнение высокую позицию Objective-C в TIOBE Index.
Objective-C — это объектно-ориентированный язык программирования, который был создан в начале 1980-х годов и стал основным языком разработки ОС NeXTSTEP. На базе Objective-C велась разработка для платформы Apple до появления языка Swift.
Как резюме к этой критике можно добавить, что каждая методология имеет свои ограничения и преимущества, и понимание этих особенностей помогает лучше ориентироваться в мире программирования.
Рейтинг PYPL на наш взгляд выглядит более современным, отражая популярность языков среди разработчиков. Например, TypeScript и Rust, набирающие популярность, нашли свое место в их списке ТОП-10.
Рейтинг Stack Overflow
Третий международный индекс, который стоит принимать во внимание — Stack Overflow. Он также собирает данные о популярности средств разработки, но их цифры основаны на ежегодном опросе тысяч разработчиков со всего мира. Опрос Stack Overflow, в котором примают участие порядка 100 тыс. респондентов, позволяет получить подробное представление не только о популярности языков, но и фреймворков, и IDE.
По данным Stack Overflow, JavaScript остается самым популярным языком программирования уже 10 лет подряд. Однако среди разработчиков, которые в настоящее время учатся кодить, наиболее популярными являются Python, JavaScript и HTML/CSS.
Ежегодный опрос Stack Overflow стоит смотреть, если вы хотите получить подробную информацию и мнения тех, кто работает в этой области прямо сейчас. Как и в случае с индексами PYPL TIOBE, результаты опросов разработчиков дают полезную картину в части выборе языков программирования начинающими разработчиками, или теми, кто планирует освоить дополнительные области.
Популярность языков программирования в России
Хотя Яндекс или Гугл подкинет вам с десяток российских рейтингов, они в массе своей будут принадлежать онлайн-школам программирования и по сути своей являются плодом работы копирайтеров. То есть компиляцией из разных источников и переписыванием друг у друга.
Заслуживают доверия только рейтинги, составленные на основе реальных исследований предпочтений российских разработчиков и состояния рынка труда. К сожалению, в России подобными исследованиями систематически занимаются практически только Хабр-Карьера и ресурс hh.ru.
А более-менее достоверные рейтинги популярности языков программирования в России публикует Хабр-Карьера, причем с периодичностью в один год. Где-то в июле-августе 2024 должен выйти новый рейтинг, а пока можно ориентироваться на прошлогоднюю статью «Зарплатные вилки весной 2023: языки программирования и фреймворки».
Согласно этой статье, самые популярные языки у российских работодателей:
В рейтинге Хабр Карьера только 8 языков, но также отмечается популярность Ruby и языка программирования для систем 1С.
Различия в популярности языков программирования в России и мире обусловлены несколькими факторами:
1. Методики сбора данных: Tiobe Index основывается на анализе поисковых запросов, PYPL оценивает частоту поиска учебных материалов, в то время как в России используют данные с локальных платформ и по вакансиям на HeadHunter.
2. Местные “погремушки”: В России остается высокий спрос на 1С из-за его повсеместного использования в бухгалтерии и управлении, тогда как в мире более востребованы языки, популярные в международных компаниях и стартапах, такие как Python и Java.
3. Учим тому, что знаем: В российских вузах больше внимания уделяется определенным языкам, исходя из исторических и академических традиций (например, C/С++/С#). Поэтому в ВУЗах часто учат тому, что знают сами преподаватели (в большинстве своем люди уже в возрасте).
Заключение
В 2024 году рейтинги популярности языков программирования демонстрируют определенные изменения в мировых рейтингах и продолжаются некоторые различия в предпочтениях языков между Россией и мировым ИТ сообществом.
Предпочтения в выборе языка для студентов российских ВУЗов и слушателей ИТ-курсов зависят от множества факторов, включая рекламу так называемого «гарантированного» трудоустройства у наиболее массовых образовательных платформ, накатанные образовательные программы, соревнования и конкурсы (Хакатоны).
Наш совет начитающим разработчикам — рейтинги языков стоит принимать во внимание, но лучше всего учить тот язык, на котором вам нравится кодить. Если вы достигните мастерства в этом языке, то проекты и деньги найдут вас сами. Кстати, чем более редкий язык, тем меньше конкуренция на рынке труда. Но гнаться за полной экзотикой тоже наверно не стоит.
Добавим каплю рекламы от нашего блога: компания SSP SOFT приглашает на позиции разработчиков на Java, JS, React и Python, 1С, инженеров QA и DevOps, системного аналитика, аналитика данных — см. страницу на hh.ru. Если вашей специальности нет в текущих вакансиях, все равно присылайте резюме, т.к. новые позиции в командах открываются еженедельно (пишите в Telegram или на почту job@ssp-soft.com).
Успехов в освоениии языков программирования!