Хабратоп. Самые востребованные и популярные языки программирования в 2022 году
Подводим итоги 2022 года в рейтингах языков программирования — от IEEE и TIOBE до не столь известных, например RedMonk и GitHut. Цифры, подробности, наблюдения и, конечно, раскрытие сути разнообразных топов ждут под катом.
Читайте этот материал, если хотите понять, на какие языки программирования стоит обратить внимание, чтобы не отстать от IT-сферы. Вот рейтинги статьи в этом году:
Начнём с ориентированного на карьеру LinkedIn, где в январе вышла статья с такой инфографикой о количестве вакансий в Европе и США, размещённых на In:
В топе — ожидаемо распространённые и зрелые языки. Любопытно, что в США больше востребован специфический С++, а не широкий кросс-платформенный C#. Хорошо видно, что кроме массовых и относительно простых по-прежнему популярны далёкие от хайпа Ruby и Perl.
Перейдём к другой стороне востребованности — простой популярности языков в сети. Она не отражает всей картины объективно, но может послужить ориентиром: в августе 2022 Python достиг самой высокой популярности по версии TIOBE за всё время существования этого индекса.
TIOBE
Суть рейтинга TIOBE — расчёт количества упоминаний языка в вебе. Это может показаться сомнительным. Однако высочайшая популярность по TIOBE за пару десятков лет существования рейтинга — это хороший показатель.
И вот следствие популярности — многие работодатели слышали о Python и хотят идти в ногу со временем. Другие уже перешли на этот язык — поняли, что у него большие перспективы. Третьи просто хотят получить готовую работу и знают о большой скорости работы с этим языком. И вот что мы видим:
Именно Python претендует на звание популярнейшего языка за весь год, а не только самого перспективного по росту популярности.
От LinkedIn и TIOBE перейдём к иным цифрам.
RedMonk
RedMonk — это рейтинг популярности ЯП по сводным данным Github и StackOverflow, выбранных из-за размера и открытости данных. Авторы говорят о своём рейтинге как о ценном потому, что он позволяет делать прогнозы.
Для начала — графики по этим данным за 10 лет:
Python показывает медленный, но устойчивый рост с 2016 года. Самый достойный его конкурент — TypeScript, сочетающий гибкость JS и строгость типизированных языков. Внимания стоит и Kotlin, ведь этот язык разрабатывается в JetBrains — мировом лидере в разработке IDE. Эти люди хорошо знают, каким должен быть удобный язык.
Добавим, что, согласно The State of Open Source, Kotlin для мобильной разработки сегодня применяется чаще, чем раньше. И на графике выше мы видим подтверждение этому. А ещё напомним: приложения Android запускаются на Win 11. Вы можете сказать, что Microsoft уходит из России, но в страну приходит Linux. К тому же работать можно не только из любой точки мира, но и на (почти) любую точку мира. Например, в сфере мобильной разработки.
Вернёмся к топам. Вот диаграммы популярности от RedMonk на первый и третий кварталы 2022 года:
Лидеры рейтинга:
1. JavaScript.
2. Python.
3. Java.
4. PHP.
5. C#.
Почему первая тройка — снова JS, Python и Java? Это языки с огромным числом пакетов и инструментов, а каждый пакет любого языка — это, по сути, маленький язык, написанный с помощью языка большого. И со всем этим нужно разбираться. Вопросы возникнут неизбежно, и не всё решает документация.
- JavaScript и его де-факто стандартный менеджер зависимостей npm достигли 1 000 000 пакетов ещё в июне 2019 года. Такое количество (вкупе с возможностью быстро освоить язык на уровне новичка) порождает огромное число вопросов на Stack Overflow. А если хочется выстроить разработку на JS аккуратно и автоматизировать её процессы, для начала создайте новый пакет.
- Python и стандартный pip — это 418 722 пакета. Немного, но учитывайте выразительность Python и философию, суть которой — писать краткий, ёмкий код, решающий одну задачу одним способом.
- Java — это более 30 000 000 пакетов в репозитории Maven — менеджере пакетов Java.
Изучить все эти языки, причём не только в теории, но и на практических задачах, вы сможете на наших курсах:
Лидерство этих языков на Github и на SO вполне понятно. А вот неожиданности: выходит, F# и Fortran, Erlang и Clojure — не такие редкие, как может показаться, а слухи о ~смерти~ непопулярности PHP сильно преувеличены. Более того, именно в этом году зарплаты PHP-разработчиков резко выросли. Смотрите исследование SuperJob, в четырёх категориях квалификации — от джуниора до опытного старшего специалиста:
PHP перестал быть языком хайпа, но его востребованности это не повредило. Первые строчки занимает CSS — вездесущий язык фронтенда: в иных топах CSS, особенно как отдельный язык, встречается нечасто.
Обратите внимание, насколько за полгода сместился HCL — язык конфигурирования Hashicorp. Этот язык, по данным The State of Open Source (годовом отчёте об Open Source и языках программирования от Github), в 2022-м оказался самым быстрорастущим на Github. Процитируем репозиторий новичка топов:
HCL — это набор инструментов для написания структурированных языков конфигурации, удобных и человеку, и машине, и в смысле командной строки. Предназначенный для общего применения, прежде всего он направлен на инструменты DevOps, серверы и т. д.
Итак, HCL — это язык, чтобы писать языки конфигурирования. Его основа — лаконичный, удобный для IT-инфраструктуры Go.
Между тем в The State of Open Source отмечают, что с 2021 года Go, которому уже 10 лет, чаще стали применять в обычной разработке. Динамика применения Go на Github принесла ему 5-е место за год. И вот вся картина роста распространения языков на Github за 2022 год. Этот топ указывает на самые перспективные языки GitHub.
Ниже остановимся на The State of Open Source подробнее:
The State of Open Source
Обратите внимание на места с 7-го по 5-е: рост от Makefile до Go указывает на важность практик DevOps (инфраструктуры как кода) в разработке. Стать специалистом-практиком в DevOps вы сможете на нашем курсе.
А что же с Python? Взрыв на Github подходит к концу — язык обретает стабильность. И смотрите: последние 4 языка идут очень близко друг к другу, а потому падению Python не стоит придавать большого значения.
И ещё одно представление этих данных, об использовании языков на Github за последние 8 лет:
Ruby — язык с весьма специфичным синтаксисом — просто рухнул, а TypeScript, который обогатил JS типами, — взлетел. И стабильно растёт типизированный динамически Python с подсказками типов из модуля typing. Спасибо, Гвидо! А если вы не хотите выбирать между Python и TS, то вам подходит курс по FullStack-разработке на Python, где вас на практике научат создавать сайты и приложения с нуля.
GitHut 2.0 — это ещё одно представление данных Github, оно показывает число:
- пул-реквестов;
- выполнений команды git push, зафиксированных на сервере;
- проблем и вопросов репозитория;
- людей, которые добавили репозиторий в избранное.
Пул-реквесты
Взрыв JS позади, а C++ набирает обороты, видимо, благодаря упрощениям в новых стандартах.
Пуши
Пуши — это отправка кода на сервера, как она есть, именно вашего кода, а не того, что вы предлагаете в запросах на слияние вашего и чужого кода. Здесь хорошо видно, что люди поверили в Python: намного чаще стали вкладываться в чужой код.
Звёзды
А выше видим относительно равномерный рост интереса к Python. Звёзды на Github — способ выразить своё отношение к коду и/или добавить его в избранное, отметить для своих целей и т. д.
Вопросы и проблемы
Падение числа проблем и вопросов JS, вероятно, связано со снижением его популярности вообще. Python продолжает уверенно лидировать. С ним чаще работают — и проблем возникает больше.
От разнообразных данных с Github перейдём к ещё более взвешенному рейтингу.
IEEE Spectrum
IEEE Spectrum — логичное завершение Хабратопа — 2022. Этот рейтинг учитывает Google, StackOverflow, Github, группы сайтов IEEE, а кроме того, посвящённые карьере ресурсы, например CareerBuilder и, более того, Twitter и Reddit.
Twitter — хорошее место, чтобы получать информационный срез о развитии IT-технологий, а Reddit — чтобы рассказать о проекте и поговорить с его целевой аудиторией неформально. Поэтому учитывать их имеет смысл. Смотрим на годовой топ IEEE:
Python и здесь в лидерах. Хорошо видно, что С, по крайней мере с момента выпуска последнего стандарта, поймал восходящий поток. Редко упоминаемый SAS выше, чем Kotlin. И это — напоминание, что область анализа данных шире и богаче, чем самый разнообразный хайп вокруг неё.
Данные — это и есть информация, с которой и работают информационные технологии. Поэтому в практичных топах верхние строчки занимает SQL — язык структурированных запросов к серверам баз данных. Ниже — рейтинг IEEE по вакансиям:
А ещё — исследование портала Statista об использовании языков программирования за весь год, в котором принимали участие более 70 000 разработчиков. SQL, как и в рейтинге IEEE, — в лидерах:
Надо сказать, что право SQL называться полноценным языком программирования (тьюринг-полнота языка) доказано не так давно. Поэтому часто в рейтингах ЯП SQL просто нет. Но именно этот язык — ключ к данным, с которыми работают программы. SQL преподают на всех наших флагманских курсах эксперты из индустрии: они знают, что владеть им важно, какой бы язык вы ни выбрали основным.
Помните, что никакие рейтинги не бывают идеально точными, они не могут спрогнозировать будущее на несколько лет вперёд. И даже искусственный интеллект не расскажет вам о том, какой язык будет востребован через 5 лет.
Поэтому выбирайте язык по душе, писать на котором будет интересно. Погрузиться в тему и попрактиковаться на реальных задачах помогут наши курсы. Вот что мы можем предложить читателям Хабра:
Популярность ЯП в России
Данные портала Zarplan показывают, что в топе востребованности у работодателей (после самого первого SQL) по порядку — Python, JavaScript и Java:
Если говорить о популярности, то участники недавнего опроса на All Cups от группы VK в июле 2022 года назвали самые востребованные языки. Это:
- Java (33%);
- Python (21%);
- С++ (16%).
При этом каждый четвёртый участник опроса начинал с Python, но 42% опрошенных рекомендуют начинать с Java. Почему? Возможно, это связано со спецификой аудитории All Cups, ведь часто участники опросов — состоявшиеся профессионалы и успели оценить преимущества строгой типизации и зрелую экосистему Java. Так или иначе, общая картина в России в целом совпадает с мировой.
Краткие итоги
Лидеры почти всех упомянутых топов — Python, JavaScript и Java. У первых двух — простота, низкий порог входа и широта применения. Python сегодня применим для интернета вещей, а JS продолжает держаться благодаря серверному Node.js и разнообразию технологий фронтенда. Строгий и многословный Java живёт благодаря универсальности и зрелости экосистемы. Всё это логично.
Сегодня в топах удивляют HCL, Go и языки для терминала — развитие инфраструктуры в IT. По сути, DevOps — это разработка для разработки, и, если вы хотите идти в ногу со временем, вкладываться в экономику, в информационных технологиях решать проблемы скорости — добро пожаловать в DevOps.
А если хотите обрести крепкую опору под ногами — обратите внимание на Data-профессии, связанные с топовым среди навыков SQL:
Новогодняя акция — скидки до 50% по промокоду HABR
Data Science и Machine Learning
Python, веб-разработка
Мобильная разработка
Java и C#
От основ — в глубину
А также