Рейтинг языков программирования 2020: JavaScript опередил Java

1
18055
views

А еще TypeScript лидирует по темпам роста, интересная ситуация в мире мобильной разработки и несокрушимая популярность Python. Сайт DOU.UA представил результаты собственного опроса по языкам программирования (в этот раз собрали и обработали 9747 анкет). Представляем вам перевод материала.

Коммерческое использование

Видим, что JavaScript наконец существенно опередил Java и стал самым популярным языком программирования. Среди новых языков стоит обратить внимание на Dart: он сразу занял не то чтобы большую, но достаточно заметную нишу.

На каком языке пишете по работе сейчас?

Если вы прям сейчас хотите попробовать свои силы в JavaScript, попробуйте пройти тест в 20 вопросов по результатам которого вы сможете понять, стоит ли вам изучать этот язык самому или же пойти на курсы по программированию. Вопросы довольно сложные для новичка. Но проходной балл доступный.
ПРОЙТИ ТЕСТ

Будет удобнее иметь под рукой историю ответов на этот вопрос по годам:

На каком языке пишете по работе сейчас (2012-2020 гг.)

Здесь тяжело не заметить падение популярности JVM и рост JS-экосистемы (JavaScript, TypeScript). Похоже, на серверах JVM-стек уступает Node.js. А вот темпы снижения популярности C# уменьшились: возможно, это связано с распространением .NET Core — открытого кроссплатформенного рантайма, снимающего для пользователей проблему «привязки к вендору».

Также можно наблюдать интересную ситуацию в мире мобильной разработки: доля Swift незначительно уменьшается, Kotlin — незначительно растет, а с другой стороны, mobile first для бизнеса это уже традиционная практика. Можно допустить, что в мейнстрим пошли кроссплатформенные фреймворки (те же React Native и Flutter), а нативные языки программирования используются больше для системных задач.

Давайте посмотрим на то, какие изменения являются статистически значимыми в сравнении с предыдущим годом:

  • Рост: Python, TypeScript, Dart, и… почему-то 1C.
  • Спад: Java, PHP, Objective-C и Scala.

Любопытно, что по сравнению с 2017 году статистически значимые изменения практически такие же.

Что касается Scala, мне кажется, что тут присутствует доля «осторожности» старта проекта перед выходом Scala 3.0 (он же Dotty). Кстати, Dotty — действительно новый язык, причем совершенно фантастический.

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

Личные предпочтения

Сейчас фаворитом является Python, далее идут почти на одном уровне C#, JavaScript и Java, а дальше — TypeScript.

Если смотреть в ретроспективе, можно отметить похожий на экспоненциальный рост Python и TypeScript.

Если бы вы сейчас начинали коммерческий проект и имели свободу выбора, то какой язык выбрали бы?

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

Посмотрим на «индекс симпатий» — соотношение разработчиков, которые пишут код на языке Х и для следующего проекта в своей области тоже выберут Х.

Мы видим, что самые приятные людям языки — относительно новые, специализированные для своей предметной области.

Больше всего довольны (92%) своим языком пользователи Rust (а ведь этого языка даже нет в 20-ке). Очевидно, для ниши системного программирования этот язык подходит практически идеально. Дальше — Kotlin. Между 80 и 90% также разместились Swift, Go, Scala, TypeScript и даже Erlang. А первый массовый язык — C# — имеет индекс симпатий 83%.

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

Изучение новых языков

В следующем году планируют изучить новый язык программирования 60% респондентов.

Какие языки вы собираетесь изучать в следующем году?

Лидеры — Python и JavaScript, это понятно. Также можно обратить внимание на сравнительно высокую долю (по сравнению с актуальной распространенностью) интереса к Dart, Rust, ну и традиционно — Haskell.

Как и в предыдущие годы, большинство респондентов (54%) собираются изучать новый язык самостоятельно, при помощи книг и документации. На онлайн-курсы ориентируются почти 32%, а 7% собираются использовать офлайн-подход с местными преподавателями.

Дополнительные языки

Что ту сказать? Распределение данных здесь практически такое же. Можно увидеть, что доля нишевых языков в дополнительных языках меньше, чем в основных. Так что, скорее всего, для FullStack-разработки больше используются языки общего назначения (такие как JavaScript и TypeScript), чем Swift и Kotlin.

Какие языки вы используете в качестве дополнительных?

Свои проекты

Ну и, наконец, pet projects.

Какие языки вы используете в своих проектах?

Динамика опять повторяется. Что любопытно — наблюдается некоторый «ренессанс» C++ и С. Возможно, это связано с ростом сегмента интернета вещей, где DIY (Do it yourself — «сделай сам») стал своего рода субкультурой.

Итоговая таблица

Дополнительные данные

Опыт работы программистом

Что мы видим: отрасль еще растет, но темпы снизились. Большинство разработчиков имеют до трех лет опыта.

Медианный возраст — 27 лет.

Распределение по возрасту

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

Мы видим, что практически 15% респондентов имеют год опыта и знают один основной язык. Затем квадратик по диагонали светлеет: люди переходят на другие языки. Видно, что на третий год 0,51 человек остается на том же языке. Дальше перетекание ослабевает: 4 года — 0,45, 5 и 6 лет — тоже 0,45. Так что, если вы не свернули с языка в первые три года, то, как правило, остаетесь с ним надолго.

Если смотреть на зависимость возраста и опыта разработчика от языка программирования, то интересна роль С++. Сейчас этот язык с самой молодой медианой возраста — 25 лет. Интересно, почему так получается. В следующем году мы попробуем создать карту возможных направлений разработки. Пока что можно строить догадки в комментариях.

Возраст разработчика в зависимости от языка

Опыт разработчика в зависимости от языка

И — первый язык программирования для разработчиков с опытом меньше года (за последние 6 лет).

Первый язык новичков

Пока по-прежнему лидирует Pascal. Но заметно, что основным языком обучения становится С++, дальше идут Python и Java.

Данные и скрипты обработки можно найти на GitHub.

Инфографика: Ігор Яновський

1 КОММЕНТАРИЙ

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here