Pull to refresh

Рейтинг языков программирования 2023. JavaScript/TypeScript завоевывают мир, Python вошел в топ-3

Reading time4 min
Views171K

Рейтинг языков программирования показал, что 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

Back-end
Back-end

Front-end

Front-end
Front-end

Full Stack

Full Stack
Full Stack

Data processing

Data processing
Data processing

Mobile

Mobile
Mobile

DevOps

DevOps
DevOps

Embedded

Embedded
Embedded

Примечательно, что изменилось распределение между специализациями: стало больше фронтенда, анализа данных и поддержки операций за счет сокращения бэкенда и фуллстек-разработки.

В какой сфере в основном работаете?

Распределение по сферам
Распределение по сферам

Рейтинги личных предпочтений

Среди предпочтений разработчиков видим те же тенденции, что и в основном блоке. Разве что переход от JavaScript к TypeScript является более заметным.

Интересная ситуация в Embedded-специализации: там большинство людей думает, что новый проект лучше начинать на C++, также третьим наиболее подходящим языком является Rust.

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

Для новых коммерческих проектов
Для новых коммерческих проектов

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

Индекс предпочтения

Индекс предпочтения
Индекс предпочтения

На этот раз самым любимым языком оказался Swift. В зоне риска ожидаемо находятся языки программирования прошлого века. Время, когда о расцвете Pascal будут вспоминать как о "золотые времена", еще не наступило.

Какой следующий язык выберут те, кто сейчас пишет на Erlang? Из трех заявок - две на Go и одна на Elixir. Для языков программирования баз данных наиболее частой альтернативой является Python.

Самым парадоксальным кажется выбор следующего языка пользователями PHP - это Go, хотя ниша разработки на Go заметно другая.

Какой бы язык вы выбрали для следующего проекта по специализациям

Back-end

Back-end
Back-end

Front-end

Front-end
Front-end

Full Stack

Full Stack
Full Stack

Mobile

Mobile
Mobile

Embedded

Embedded
Embedded

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

Около трети респондентов планирует изучить еще один язык программирования в этом году. Как и ранее, рекордсменом является Go, затем - Python и Rust.

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

В планах изучать
В планах изучать

Большинство планирует изучить следующий язык самостоятельно или с помощью коллег. Обратиться к профессиональным преподавателям в дополнение к самостоятельному изучению есть в планах примерно у 24% респондентов, а 6% в первую очередь будут искать курсы и профессиональных преподавателей.

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

В планах изучать (тенденция)
В планах изучать (тенденция)

Сейчас у большинства новичков первым языком программирования является JavaScript, но также заметно растет роль Python. С одной стороны, возможно, это отражение того, что Python больше подходит для обучения, чем JavaScript, с другой стороны - данные показывают, что большинство из тех, для кого JavaScript был первым языком программирования, сейчас работает в экосистеме JavaScript/TypeScript, а для кого Python - на Python. Так что, возможно, это просто разделение траекторий обучения.

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

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

Дополнительные языки программирования

Конечно, все работают с базами данных. Картина ниже немного отличается от прошлогодней из-за изменения методологии - теперь мы объединили все языки БД в DB.

Все остальное отражает общие тенденции.

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

Дополнительные языки программирования
Дополнительные языки программирования

В опенсорс-проектах участвуют примерно 30% участников опроса (это меньше, чем в прошлом году).

Какие языки программирования используете в open source проектах

Рейтинг языков программирования в open source
Рейтинг языков программирования в open source

Интересно выделить те языки, доля которых в опенсорс-проектах больше, чем в коммерческих. Если мы отсортируем языки по такому критерию, то увидим последовательность: Haskell, Objective-C, Rust, R, C и Closure.

Финальная таблица

Язык | Используете в работе, % | Изменения | Используете в работе | Используете как дополнительные | Используете в своих проектах | Индекс предпочтения

Финальный рейтинг языков программирования
Финальный рейтинг языков программирования

Оригинал статьи.

Полезные статьи:

Если вы хотите добавить язык программирования к голосованию на Хабр, пишите в комменте или в личку.

Only registered users can participate in poll. Log in, please.
На каком языке вы программируете? (Back-End)
15.93% Java244
21.48% C#329
16.78% PHP257
23.96% Python367
15.27% TypeScript234
12.79% Go196
15.6% JavaScript239
1.83% Ruby28
9.14% C++140
1.96% Scala30
4.24% Kotlin65
3.39% DB52
4.77% Rust73
0.59% Elixir9
3.59% C55
0.39% Erlang6
2.35% 1C36
0.07% Apex1
0.26% Groovy4
0.46% Clojure7
4.5% Другой69
1532 users voted. 122 users abstained.
Only registered users can participate in poll. Log in, please.
На каком языке вы программируете? (Front-End)
58.47% JavaScript549
49.41% TypeScript464
10.65% C#100
5.01% Dart47
9.27% Другой87
939 users voted. 267 users abstained.
Only registered users can participate in poll. Log in, please.
На каком языке вы программируете? (Full Stack)
25.66% C#235
31.99% JavaScript293
30.46% TypeScript279
17.47% PHP160
8.41% Java77
16.59% Python152
0.11% Apex1
1.42% Ruby13
7.75% C++71
3.38% 1C31
5.9% Go54
3.6% DB33
3.17% Kotlin29
3.49% C32
3.28% Pascal/Delphi30
0.33% Groovy3
0.87% Elixir8
4.8% Rust44
3.6% Dart33
0.55% Scala5
2.84% Другой26
916 users voted. 252 users abstained.
Only registered users can participate in poll. Log in, please.
На каком языке вы программируете? (Data processing)
52.4% Python317
21.49% DB130
5.29% Scala32
6.78% Java41
7.6% JavaScript46
10.25% C++62
2.64% R16
12.4% C#75
3.47% 1C21
7.27% PHP44
9.75% Другой59
605 users voted. 346 users abstained.
Only registered users can participate in poll. Log in, please.
На каком языке вы программируете? (Mobile)
29.89% Kotlin142
14.11% Swift67
17.68% Dart84
16.84% C#80
12.63% Java60
12.63% TypeScript60
13.05% JavaScript62
3.37% Objective-C16
7.58% C++36
3.79% Python18
6.32% Другой30
475 users voted. 433 users abstained.
Only registered users can participate in poll. Log in, please.
На каком языке вы программируете? (DevOps)
50.75% Python203
5% Groovy20
17.5% Go70
10.75% C#43
6% TypeScript24
6.5% C++26
7.75% JavaScript31
1.75% DB7
4.25% Java17
2.5% Ruby10
24.25% Другой97
400 users voted. 431 users abstained.
Only registered users can participate in poll. Log in, please.
На каком языке вы программируете? (Embedded)
45.57% C144
36.71% C++116
20.25% Python64
22.15% Другой70
316 users voted. 478 users abstained.
Tags:
Hubs:
Total votes 58: ↑56 and ↓2+54
Comments116

Articles