Рейтинг языков программирования показал, что JavaScript и TypeScript уже контролируют треть рынка. Java пятый год подряд теряет популярность. Python после нескольких лет негативной динамики в этом году набирает обороты.
Представляем результаты ежегодного опроса, данные и скрипты обработки можно найти на GitHub.
В конце статьи будет локальный опрос пользователей Хабр.
Релевантные материалы:
Поехали!
Коммерческое использование
В этом году самым популярным языком остается JavaScript — 19% разработчиков пишут на нем коммерческие проекты. Далее — Java (14%) и Python (13%). Последний впервые среди самых популярных. С минимальным отрывом за Python идут C# и TypeScript.
Какой язык используете в работе?
Первое что бросается в глаза — стремительный рост популярности TypeScript. При этом это не только миграция JavaScript проектов, так как JavaScript тоже стали использовать чаще. Экосистема занимает новые ниши. Как мы увидим позже, TypeScript все больше становится языком выбора для новых проектов как на Back-end, так и в Full Stack разработке. Кроме того, резко выросла популярность Python, который занял третье место после трехлетнего спада. Возможно, это связано со второй волной интереса к анализу данных.
Какой язык используете в работе? (2012–2023 гг.)
Сферы использования
Интересно, что на бэкенде выросла доля как TypeScript, так и JavaScript (хотя основным языком все еще остается Java), TypeScript уже используют чаще, чем JavaScript. Доля PHP сокращается, но язык все еще входит в тройку самых популярных, вероятно, Python заменит его в следующем году.
Во фронтенде все довольно ожидаемо, однако становится заметной доля фронтендов на C# (Blazor) и Dart (Flutter Web). Видно, что переход с JavaScript на TypeScript все-таки происходит.
Основной сегмент фуллстек-разработки еще на C# с ASP.NET, но сектор JavaScript/TypeScript суммарно уже больше. Распределение далее в целом показывает те же тенденции, что и в бэкенде.
В сфере анализа данных Python остается вне конкуренции. Удивляет рост доли R и отсутствие заметной доли языка Julia.
Сфера мобильной разработки приносит нам некоторые неожиданности, такие как одновременный рост доли Kotlin и сокращение доли Swift, что отражает соотношение разработки на Android и iOS. Еще интересно, что Flutter теперь используют чаще, чем React Native, в сегменте мультиплатформенных мобильных приложений.
В области DevOps основным языком, как и раньше, является Python. Ну и Embedded-разработка довольно консервативна. Как и раньше, большинство проектов написаны на C и C++, но видно, что с ростом мощности встроенных систем появилось место и для Python. Еще небольшой сегмент Embedded-разработки на Java — микрокарты — сейчас почти исчез.
Рейтинг языков программирования по сферам использования
Back-end
Front-end
Full Stack
Data processing
Mobile
DevOps
Embedded
Примечательно, что изменилось распределение между специализациями: стало больше фронтенда, анализа данных и поддержки операций за счет сокращения бэкенда и фуллстек-разработки.
В какой сфере в основном работаете?
Рейтинги личных предпочтений
Среди предпочтений разработчиков видим те же тенденции, что и в основном блоке. Разве что переход от JavaScript к TypeScript является более заметным.
Интересная ситуация в Embedded-специализации: там большинство людей думает, что новый проект лучше начинать на C++, также третьим наиболее подходящим языком является Rust.
Если бы вы сейчас начинали коммерческий проект и у вас была свобода выбора, какой бы язык выбрали?
Ниже индекс предпочтения. Напомним, это доля людей, которые пишут на этом языке и для следующего проекта выбрали бы его также.
Индекс предпочтения
На этот раз самым любимым языком оказался Swift. В зоне риска ожидаемо находятся языки программирования прошлого века. Время, когда о расцвете Pascal будут вспоминать как о "золотые времена", еще не наступило.
Какой следующий язык выберут те, кто сейчас пишет на Erlang? Из трех заявок - две на Go и одна на Elixir. Для языков программирования баз данных наиболее частой альтернативой является Python.
Самым парадоксальным кажется выбор следующего языка пользователями PHP - это Go, хотя ниша разработки на Go заметно другая.
Какой бы язык вы выбрали для следующего проекта по специализациям
Back-end
Front-end
Full Stack
Mobile
Embedded
Изучение новых языков
Около трети респондентов планирует изучить еще один язык программирования в этом году. Как и ранее, рекордсменом является Go, затем - Python и Rust.
Какие языки программирования вы собираетесь изучать в следующем году?
Большинство планирует изучить следующий язык самостоятельно или с помощью коллег. Обратиться к профессиональным преподавателям в дополнение к самостоятельному изучению есть в планах примерно у 24% респондентов, а 6% в первую очередь будут искать курсы и профессиональных преподавателей.
Какие языки вы собираетесь изучать в следующем году (2018-2023 гг.)?
Сейчас у большинства новичков первым языком программирования является JavaScript, но также заметно растет роль Python. С одной стороны, возможно, это отражение того, что Python больше подходит для обучения, чем JavaScript, с другой стороны - данные показывают, что большинство из тех, для кого JavaScript был первым языком программирования, сейчас работает в экосистеме JavaScript/TypeScript, а для кого Python - на Python. Так что, возможно, это просто разделение траекторий обучения.
Первый язык новичков
Дополнительные языки программирования
Конечно, все работают с базами данных. Картина ниже немного отличается от прошлогодней из-за изменения методологии - теперь мы объединили все языки БД в DB.
Все остальное отражает общие тенденции.
Какие языки вы используете как дополнительные
В опенсорс-проектах участвуют примерно 30% участников опроса (это меньше, чем в прошлом году).
Какие языки программирования используете в open source проектах
Интересно выделить те языки, доля которых в опенсорс-проектах больше, чем в коммерческих. Если мы отсортируем языки по такому критерию, то увидим последовательность: Haskell, Objective-C, Rust, R, C и Closure.
Финальная таблица
Язык | Используете в работе, % | Изменения | Используете в работе | Используете как дополнительные | Используете в своих проектах | Индекс предпочтения
Оригинал статьи.
Полезные статьи:
Если вы хотите добавить язык программирования к голосованию на Хабр, пишите в комменте или в личку.