Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
В прошлом декабре мы подбивали предварительные итоги и выкатили рейтинг популярности языков программирования. Пришло время для обновлений! В Хабратопе-2021 рассказываем, как менялись позиции ЯП в рейтингах TIOBE, PyPL и Stack Overflow. Поехали!
Отдельно хочется напомнить, что все рейтинги субъективны (кроме нашего, конечно ;-) ). Можно примерно посчитать, сколько разработчиков пишут на конкретном языке или количество поисковых запросов, но именно вы делаете выбор: лаконичный Python, полный неопределённости Си, безопасный Rust или эзотерический Chicken. А мы начнём с самого известного индекса — TIOBE.
Индекс TIOBE
TIOBE считает упоминания на веб-страницах. В рейтинге учитывается количество работающих с языком специалистов, а ещё различные курсы, где языки можно изучить. На ноябрь 2021 года рейтинг выглядит так:
В октябре 2021 года впервые за всю историю Python вырвался в лидеры TIOBE.
Порог входа в этот язык ниже, чем у Java и C, и с каждым годом Python-программистов всё больше. Популярность языка растёт так быстро, что в TIOBE разразилась настоящая драма. Первое место Python обеспечено падением C, который пять лет назад уже опускался на 10,5% — с 17 до 6,5.
Python остаётся № 1, но его позиции не совсем уверенные: 11,77% у Python против 10,72% у Java и С. Вероятно, в 2022 году, в котором прогнозируют падение Java и С, лидерство Python станет неоспоримым.
Вторая причина взлёта Python — стремительное развитие Data Science.
R, нужный дата-сайентистам, удерживает позиции, но конкурировать с Python не может. Julia способна на это в теории, но язык ещё слишком слаб. Другие перспективные языки расположились так: Lua в TIOBE обгоняет Dart, Ada, Rust и даже Kotlin. На 12-м месте основного рейтинга расположился Groovy.
PyPL
Созданный Github рейтинг PyPL ориентируется не на страницы, а на поисковые запросы <language tutorial>. PyPL считает TIOBE «отстающим индикатором», о чём прямо заявляет на своей главной странице. И вот что мы видим по индексу от Github в ноябре 2021 года:
Первая десятка рейтинга — это 85% поисковых запросов на GitHub. Абсолютные лидеры топа — Python и Java: они сильно оторвались от ближайших конкурентов.
Первую позицию PyPL Python занял уже в 2018 году. Что не удивительно: представьте себе количество поисковых запросов спустя 6 лет после AlexNet, когда люди прочувствовали весь потенциал ИИ. Популярность Java тогда постепенно падала, зато Python рос огромными темпами.
В 2021-м Python сбавил обороты — последние полгода язык находится на одной отметке. При этом 30% всех запросов "<language> tutorial" 2021 года — это запросы о Python, а значит, язык активно изучают. Хотя взрывного роста популярности можно не ждать — с волнами ±2% развиваются классические языки.
Во второй десятке борьба куда острее. В прошлом году мы сделали ставку на Go, Rust, Ada, Lua и Dart — у них были все шансы на развитие. И сегодня Go удерживает позиции, а Rust укрепляется, хотя его неожиданно обогнал VBA. Развивая комьюнити, активно растут Ada и Dart. Из топ-20 вышел только Lua. Очень перспективными остаются Go, Ada и Dart, к ним можно добавить ABAP и Groovy:
В 2020 году у ABAP вышла стабильная версия, и он сразу взлетел на 21-е место.
Разработчики высоко оценили обновление Groovy — его всё чаще изучают как дополнение к Java.
Рейтинг StackOverflow
SO — это, по сути, огромная база вопросов и ответов по языкам и технологиям программирования: десятки гигабайт текста и повседневный рабочий инструмент тысяч программистов: для автоматического поиска ответа на портале разработано множество инструментов.
Языки по местам расставляли только пользователи SO, но рейтинг очень показателен. Респондентов спрашивали, какой язык или инструмент они использовали в работе или изучали за последний год, а также о планах на следующий год. Поэтому мы видим ситуацию и можем сделать небольшой прогноз.
Уже девятый год подряд первое место у JavaScript, хотя по TIOBE и PyPL до лидерства ему далеко. JS знают, изучают или используют в работе 68,62% респондентов.
В десятку вошли Node.js и TypeScript, которые расширяют JS. После массовых HTML и CSS идёт Python с 48,24% — у него третье место. А в конце топ-10 — C# и C++. Язык Си плавает около 12-го места.
Увидев статистику «любви и ненависти» к языкам, мы смеялись, ведь она точно отражает известную цитату создателя С++:
«Есть всего два типа языков: те, на которые жалуются, и те, которые никто не использует».
Голубая полоса на графике — любимый язык, фиолетовая — ужасающий. Сумма двух полос — это все респонденты, которые явно указали отношение к языку:
На вершине — языки, которые в общем рейтинге набрали меньше 1%. Clojure, Elixir, Julia, Dart, Swift, Go — все они выше Java, C и C++.
Язык Си ненавидят 60,44% пользователей SO. Но это скорее подтверждает, что программисты работают с языком или хотя бы знают о нём.
Из лидеров в общем рейтинге хорошие показатели только у Python — это 67,83%, С# — 61,96% и JavaScript — 61,51%.
Интересен вопрос о языках, которые пользователи SO собираются изучать в 2022 году. Python здесь — лидер с ощутимым отрывом. И это ещё раз подтверждает не только популярность, но и большой интерес разработчиков к языку (кстати, освоить язык можно здесь).
Теперь, когда мы увидели общую картину, посмотрим на цифры в России и ближнем зарубежье.
Популярность ЯП в России и не только
В 2021 году, по версии JB, самый популярный ЯП в России — JavaScript. Одним из основных или основным его назвали 28% российских программистов; за последний год с ним работали 56% участников опроса. JavaScript популярнее среди программистов Украины и Беларуси: основным его указали 38 и 36% опрошенных соответственно.
Интересна подборка ЯП, которые профессионалы хотят изучать в 2022 году. Наиболее популярными «завтрашними» языками стали быстро растущие Go, TypeScript, Kotlin, Rust и Python.
Теперь посмотрим на количество вакансий с упоминанием разных языков. Вот первая десятка Zarplan на сегодня:
SQL упоминается в два раза чаще JS, что вполне понятно — язык часто дополнительный. Знание SQL станет преимуществом на вакансиях C# или Java. Конечно, владения SQL требуют многие вакансии аналитиков данных, Data Scientist, Data Engineer, продуктовых и бизнес-аналитиков.
А ещё мы посмотрели вакансии на hh.ru. На 28 ноября в поиске по ключу «SQL» в России имелось 30410 вакансий. И вот первая десятка:
SQL — 30410 вакансий;
JavaScript — 17 626;
Python — 15 805;
Java — 12 334;
PHP — 7409;
C# — 7270;
C++ — 5976;
Go — 4856;
TypeScript — 4764;
Kotlin — 3239.
Она с небольшими отличиями повторяет статистику Zarplan. Разве что специалистов по Go на hh.ru требуется намного больше. Остальное — в пределах погрешности. В бизнесе больше всего требуются специалисты по JavaScript, Java и Python.
Итак, подведём итоги. Python — абсолютный лидер и укрепляет позиции.
C, C++ и C# ещё нас всех переживут. Классический Си уступает Python, но о падении популярности речи не идёт.
Обратите внимание на TypeScript, Go, Ada, Dart, ABAP. Их сообщество только формируется, но популярность растёт. Скоро они могут завоевать ощутимую долю рынка. Присмотритесь к SQL, который требуют во множестве компаний.
Java и JavaScript немного сдали позиции, но по-прежнему сильны и популярны.
Если в 2021 году вы решились стать специалистом в IT, выбирайте из этих языков — не ошибётесь. Какой бы язык вы ни выбрали: сложный C++, красивый C#, широкий JavaScript, необычный Go или выразительный Python, — вы сможете освоить их или прокачать на наших курсах. Для читателей Хабра — особые условия:
Профессия Data Scientist (24 месяца)
Профессия Fullstack-разработчик на Python (15 месяцев)
Профессия Python-разработчик (10 месяцев)
Курс «Python для анализа данных» (2 месяца)
Другие профессии и курсы
Data Science и Machine Learning
Профессия Data Scientist
Профессия Data Analyst
Курс «Математика для Data Science»
Курс «Математика и Machine Learning для Data Science»
Курс по Data Engineering
Курс «Machine Learning и Deep Learning»
Курс по Machine Learning
Python, веб-разработка
Профессия Fullstack-разработчик на Python
Курс «Python для веб-разработки»
Профессия Frontend-разработчик
Профессия Веб-разработчик
Мобильная разработка
Профессия iOS-разработчик
Профессия Android-разработчик
Java и C#
Профессия Java-разработчик
Профессия QA-инженер на JAVA
Профессия C#-разработчик
Профессия Разработчик игр на Unity
От основ — в глубину
Курс «Алгоритмы и структуры данных»
Профессия C++ разработчик
Профессия Этичный хакер
А также
Курс по DevOps
Все курсы