Рейтинг языков программирования (результаты второго опроса)
Читайте свіжий рейтинг мов програмування за 2024 рік
В опросе, который проводился с 5 июля по 9 августа, приняли участие 3040 человек (2663 из Украины), полгода назад эти цифры составляли 2394 и 2079 соответственно. Доля участников прошлого опроса в этом: 23%.
Краткая сводка — лидеры все те же (С#, Java, PHP), JavaScript приобретает значение как основной язык разработки, разработка на чистом С маргинализируется, Scala пророчат большое будущее.
Собственно результаты:
На каком языке вы написали свою первую программу?
И что сейчас:
На каком языке пишете для работы сейчас?
Пятерка лидеров не изменилась, больше всего у нас по-прежнему пишут на С#, затем Java, третий по емкости рынок разработки PHP, затем С++. Второй эшелон так же возглавляет Python, за которым следует Ruby, а 1С опять замыкает границу маргинальности. Единственное значимое изменение — JavaScript, как основной язык используют уже больше чем Delphi.
Еще взглянем детальнее на распределение долей — увеличивается ли разрыв между С++ и Java или нет:
Доли языков в сравнении с прошлым опросом
Здесь мы видим что разрыв между С# и Java увеличивается, но незначительно, единственные изменения «лежащие на границе» статистической значимости: это увеличении доли PHP на 1% а JavaScript — почти на 3.
Кстати, раз уж заговорили о статистике — опишем модель, которую мы используем, чтобы назвать изменения в распределении использования языков программирования во времени статистически значимыми — мы считаем основной язык программирования нормально распределенным свойством и думаем, что изменения статистически значимы, если результаты данного опроса и предыдущего не могут быть разными группами в одной популяции c обычным доверительным интервалом (0.95%). На самом деле это очень сильное утверждение, так как мы при этом не берем во внимание следующие факторы:
- объем всей популяции у нас сравнительно мал (сколько программистов в Украине — ну явно меньше 100000)
- при этих изменениях гипотеза обратного утверждения (то есть предложение о том, что популяция не изменилась) почти всегда неверна
Поэтому, мне кажется, что в нашем случае:
- нельзя говорить о изменениях ниже планки
95-ти процентной достоверности, как о белом шуме — они все-таки выражают тенденции, другое дело что мы не можем их статистически верифицировать. - обычная граница вероятности справедливости гипотезы о изменениях слишком высока, введем 2 границы: 0.05 (обычная статическая значимость) и 0.10 (граничная). То есть если с вероятностью в 90% распределение языков в прошлом и этом опросе не может быть одинаковым, то мы это будем отмечать.
Теперь посмотрим, какие языки люди считают перспективными для следующих проектов:
Если бы вы начинали сейчас коммерческий проект, и у вас была бы свобода выбора...
Как и раньше, Python начинает опережать PHP. Из сюрпризов — значительное увеличение упоминаний Scala, дающее языку устойчивое положение во второй группе. Можно составить индекс удовлетворенности языком как процент пользователей языка, которые выбрали его же сами в коммерческом проекте в своей области:
Индекс приверженности к языкам
Итак, пользователи С#, Python и Ruby менее всего склонны менять язык разработки, а более всего — разработчики на чистом С (сюрприз) а также 1С и Delphi.
Что бы выбрали сейчас те, кто сейчас разрабатывает на С: в основном С++ (31.5%), осталось бы на С 22% (это то что отложено на графике), следующие направления — Python (12.5%), Java (10%), C# (9%) и PHP (4,6%).
Те, кто разрабатывает на Delphi, выбрали бы в следующих проектах С# (24%), Java (14%), Python (10%) и С++ (8%). У 1C ситуация похожая: C# (20%), Python (12%), Java и С++ (по 8%)
Еще интересно направление миграции из Java — наибольшее число тех, кто выбрал бы для следующего проекта другой язык программирования, выбирают Scala (10%), за ним идет С# (5%), Python (3.5%) и Groovy (3.2%).
Какие дополнительные языки вы используете для работы?
Как и прежде, все используют JavaScript. Еще С как дополнительный входит в основную группу, также как дополнительный часто используется Groovy (чаще чем Scala). Кстати, появление SQL в этой таблице свидетельствует о том, что значительная часть участников не прочитала предисловие к опросу. Выражаю искреннее сочувствие их работодателям.
Теперь о своих проектах: они есть у 77% людей, принимавших участие в опросе, распределение языков следующее:
Есть ли у вас свои pet-projects? Если есть, то на каких языках?
Что интересно — значительно увеличилось число проектов на JavaScript и PHP, Java переместилась с первого места на четвертое по количеству собственных проектов.
Как принимается решение о выборе языка?
(по-прежнему — по-разному)
Перейдем к рассмотрению демографических характеристик. Сначала — просто распределение опыта работы программистов, по сравнению с прошлым опросом:
Распределение опыта работы программистом
Видно, что наша аудитория стала немного опытней. Доля программистов со стажем > 10 лет составляет порядка 20%. Посмотрим еще на распределение по возрастным группам:
То есть разработка по-прежнему профессия молодых, в основном от
Следующая возрастная категория — уже только треть от предыдущей.
Ну а разработчик старше
У разработчиков от 40 до
А вот в основных группах, распределение языков близко к общему.
Еще вопрос — насколько часто люди меняют основной язык: оказывается меняют, но не очень часто. Вот диаграмма где в качестве основного разбиения — опыт работы программистом, а в качестве дополнительного — опыт работы на данном языке:
Опыт работы программистом/на выбранном языке
То есть где-то половина программистов с более чем десятилетним опытом хоть раз да сменили основной язык, а где-то 10% осваивают новый. Также заметим особенность первой колонки — существуют люди с опытом работы программистом год и меньше, но более чем десятилетним опытом работы на выбранном языке. Очевидно это наши
Еще обратим внимание на то, есть ли разница в использовании языков программирования для разработчиков, которые находятся в Украине и за ее пределами:
Есть и все та же: там больше пишут на С++ и Python и меньше — на PHP и Java.
Наконец, финальная таблица:
Язык | Доля рынка | diff (изменение относительно опроса | Рабочий язык сейчас | Доля рынка в перспективе | Начали бы проект сейчас | Как дополнительный рабочий | В хобби проекте | Индекс приверженности |
---|---|---|---|---|---|---|---|---|
С# | 22.33 | 678 | 25.11 | 752 | 594 | 673 | 0.84 | |
Java | 20.38 | 619 | 20 | 610 | 558 | 570 | 0.68 | |
PHP | 17.35 | 1.07(p=0.06) | 527 | 10 | 308 | 523 | 631 | 0.50 |
C++ | 11.72 | 356 | 10 | 301 | 526 | 498 | 0.59 | |
Python | 6.29 |
| 11 | 348 | 485 | 424 | 0.81 | |
Ruby | 4.05 | 123 | 6.5 | 196 | 179 | 198 | 0.78 | |
Objective-C | 3.06 | 93 | 2.7 | 81 | 131 | 132 | 0.59 | |
JavaScript | 2.60 | 0.7 (p=0.058) | 79 | 2.8 | 86 | 1757 | 649 | 0.45 |
Delphi | 2.27 | 61 | 1.0 | 31 | 125 | 135 | 0.39 | |
C | 2.14 | 65 | — | 23 | 382 | 186 | 0.23 | |
ActionScriot | 2.07 | 63 | 1.16 | 35 | 0 | 0 | 0.5 | |
Perl | 1.54 | 47 | — | 29 | 184 | 83 | 0.46 | |
1C | 1.11 | 34 | 13 | 36 | 24 | 0.35 | ||
PL/SQL | 12 | 0 | 9 | 0 | 0.16 | |||
Basic | 10 | 0 | 62 | 26 | 0.30 | |||
Scala | 9 | 3 | 91 | 57 | 66 | 0.55 | ||
Groovy | 8 | 1 | 29 | 96 | 40 | 0.62 | ||
Lua | 6 | 0 | 53 | 25 | 0.16 | |||
DBase | 5 | 0 | 11 | 5 | 0 | |||
Erlang | 4 | 17 | 15 | 22 | 0.5 | |||
Lisp | 4 | 16 | 32 | 43 | 0.75 | |||
Haskell | 2 | 21 | 22 | 37 | 0.5 | |||
Fortran | 1 | 0 | 8 | 6 | 0 | |||
Asm | 1 | 0 | 77 | 35 | 0 | |||
F# | 1 | 7 | 7 | 7 | 0 | |||
Cobol | 0 | 0 | 2 | 1 | 0 |
Данные опроса и скрипт обработки на языке R можно найти на github.com/rssh/dou_pl_questionare.
Все про українське ІТ в телеграмі — підписуйтеся на канал DOU
73 коментарі
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.