Вечнозеленая тема — рейтинги популярности языков программирования. Говорят, что они в основном интересуют слушателей ИТ-курсов, но в майском рейтинге 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).
Успехов в освоениии языков программирования!
Комментарии (10)
KirpaPuto
14.06.2024 06:13+5C/C++: мейнстримный и быстрый, но не имеет встроенной поддержки математических вычислений
А что даёт именно встроенная поддержка?
dae-fromru
14.06.2024 06:13+6Видимо как у питона, где встроенная поддержка мат. вычислений это сторонняя библиотека, написанная на с++ с питоновым врапером :)
Dominux
14.06.2024 06:13Вероятно подразумевается то, что он определенно больше заточен под удобство различных мат операций, с приведениями, кастами типов и удобном представлении чисел. C/C++ - больше всё-таки для оптимизации вычислений, где все приходится писать ручками
lil_master
14.06.2024 06:13Пару лет кодил на Фортране именно в научной среде, моделирование физических процессов. Никак не удалось заметить, что он "определенно больше заточен под удобство мат операций", чем C и тем более C++. Возможно на Фортране написано больше каких-то там специфичных мат библиотек, которых я не видел (отпишитесь кто видел, пожалуйста).
Octabun
14.06.2024 06:13+4Вечнозеленая тема — рейтинги популярности языков программирования. Говорят, что они в основном интересуют слушателей ИТ-курсов
Тема действительно вечнозелёная и точно должна интересовать выбирающих курсы, но мне кажется что проблема глубже. Потому что
Наш совет начитающим разработчикам — рейтинги языков стоит принимать во
внимание, но лучше всего учить тот язык, на котором вам нравится кодить.хороший совет теоретически, только чтобы понять что нравится и что нет, нужно потратить кучу времени на изучение каждого языка из десятка образующего топ по рейтингам. И это только сам язык, а как привлчь так и отвадить может ещё и инструментарий и область применимости. Да и deal breaker может обнаружиться только со временем.
По три недели на язык минимум - больше полугода только на выбор. А верить никому нельзя, компьютерные технологии продаются точно теми же (подлыми) марктинговыми приёмами что и всё остальное. Простые идеи типа упорядочить языки на основе рейтингов и чужого мнения и начинать учить с первого, а как только что-то не так, тут же переходить к следующему - могут сушественно сократить срок выбора, но не факт что выбор окажется оптимальным да и по второму кругу можно пойти.
Кроме того, вот это всё - выбор языка в интересах работодателя. А на том же Хабре написано - после 55 с работодателем могут быть проблемы. Вчитаешься - в 55 точно, скорее существенно раньше. А если задача в том, чтобы обрабатывать информацию по своему усмотрению без вмешательства менеджера и без создания приложений, то обнаруживается целая тёмная вселенная с наиболее яркими но ни в какие рейтинги не попадающими Racket и Julia.
Может быть как раз поэтому
Что еще — различные рейтинги дают кардинально разные оценки популярности языкам, идущим на позициях далее ТОП-5 или ТОП-7.
Задачу можно поставить, а вот решение... Максимум что можно прямо сейчас - предостеречь от излишнего доверия что к рейтингам, что к курсам.
atues
Хм... О языке GOLAND ни разу не слышал. Чего не скажешь о языке GO в подвале картинки. Тот, кто готовил этот обзор - хотя бы раз прочел перед опубликованием?
SSP_blog Автор
Повелись на неточность в обзоре Хабр Карьера. Языки Go и Golang - это одно и то же. Официальное название языка - Go, но часто его называют Golang. Такое название появилось из-за доменного имени golang.org, которое было выбрано для официального сайта языка. Однако, правильно называть язык именно Go.
atues
Было бы написано GOLANG, я бы не суетился. Но вглядитесь в картинку: там GOLAND.
На сайте уже исправили, но поздно - все ходы записаны :)
Octabun
Проклятие, я опоздал к этому комментарию, в статье перерисовали. Но я всё равно напишу что такое должно было бы означать что большинство работодателей ставит владение средой разработки GoLand как непременное условие и выше мастерства в Go. Сказать что это заведомо нелогично я не могу - собственно язык Go прост, а про GoLand я не в курсе.