Рейтинг языков программирования, 1H2012
Читайте свіжий рейтинг мов програмування за 2024 рік
Краткая сводка: Java вышла на первое место, в разработку приходит поколение, не знавшее С++, на радаре появился Apex.
Рейтинг составлен по результатам опроса, который проходил с 7 апреля по 5 мая 2012 года, в нем приняли участие 2758 человек (2472 из Украины). 41% из них принимали участие в предыдущих опросах, а 59% — заполняли форму первый раз.
Собственно, данные
Сразу видно, что по сравнению с прошлым разом резко уменьшилось количество тех, кто начинал программировать с С++. Примечательно, что у нового поколения C++ в образовании заменила не Java, как во всем мире, а Pascal и Basic.
И что происходит сейчас:
(Тут собраны ответы читателей, которые смогли выделить один язык программирования как основной.)
Итого, мы видим, что больше всего наша аудитория пишет на Java — 26% (9 месяцев назад это был С# — 21%, без изменений), а замыкает пятерку языков первого эшелона по-прежнему Python (6%). На границе маргинальности — 1С с частотой использования около 1%. Еще стоит отметить появление на радаре языка Apex (насколько я понимаю, это встроенный язык Salesforce).
Посмотрим внимательнее на изменения:
Насколько это значимо? Давайте будем использовать ту же модель, что и в прошлый раз, то есть считать, что изменения статистически значимы, если результаты данного опроса и предыдущего не могут быть разными группами в одной гауссовской популяции c обычным доверительным интервалом (0.95%). Тогда к статистически значимым изменениям относятся уменьшение доли PHP (на 3%) и Pascal/Delphi (на 0,9%) и увеличение доли Java (на 5,6%) и JavaScript (на 1,1%).
Теперь посмотрим, что наша аудитория думает о будущем:
Итак, по-прежнему Python в этом случае опережал бы PHP, а Scala замыкает вторую группу. Построим еще индекс привязанности к языку как процент пользователей языка, которые выбрали бы его же для нового коммерческого проекта в своей области:
Самыми комфортными языками для своих пользователей оказались Python (0,91) и С#(0,88), а самыми некомфортным — 1С и PL/SQL (по 0,33).
Направления миграции для следующих проектов:
- из PHP люди смотрят в сторону Python (16%) и Ruby (9%), далее следуют Java (5%) и С# (4%);
- из Delphi — на C# (25%), затем С++ (11%), далее Java (8%) и JavaScript (5%);
- из Java — на Scala (10%), затем С#(5%), Python (3%) и Groovy(3%).
Заметим, что ни один из языков последней волны (Kotlin, Ceylon) не был даже упомянут.
Теперь посмотрим на то, какие языки используются как дополнительные. Кстати, 13% аудитории предпочитают вообще не выделять свой основной язык.
Здесь мы видим — кроме того, что участники упорно не читают предисловие, — что все используют JavaScript, также в первой группе у нас появился PL/SQL.
Теперь о своих проектах: они есть у 77% респондентов, и распределение языков там следующее:
Демография
Перейдем к рассмотрению демографических характеристик.
Тут нас ожидает небольшой сюрприз: аудитория нашего опроса значительно изменилась — появилось много молодежи, а разработчиков с опытом работы больше 5 лет наоборот, поубавилось.
(Иначе прошлогодний пик в районе 5 лет опыта переместился бы на год дальше, а этого не произошло).
Мне кажется, DOU теряет аудиторию опытных разработчиков по ряду причин, начиная с самых общих (очередная волна эмиграции и снижение социальной активности с возрастом), заканчивая фокусом внимания редакции: проблемы взаимоотношений НR-ов с программистами, написание резюме и кодирование стартапа за два дня все-таки больше интересуют молодежь. Вот у меня в последнее время сделать что-то нетривиальное меньше чем за полгода редко когда получается. :( Честно говоря, меня это немного печалит.
Оставим брюзжание и вернемся к цифрам:
Доля программистов с опытом больше десяти лет составляет около 13% (было — около 18%), а программистов с опытом год и меньше — 17% (было — 14%).
Распределение по возрастным группам не изменились:
Большинство разработчиков находятся в группе от 20 до 30 лет. Интересно, что на этот раз в опросе приняли участие 13 человек старше 50 лет, из них 8 указали, что могут назвать свой основной язык программирования: это Java (3) и по одному для Objective-C, Delphi, PHP, PL/SQL и Scala. В возрастной группе
Соотношение между общим опытом работы и опытом работы на данном языке:
Как видим, много людей меняет основной язык программирования раз в несколько лет.
Еще интересно, есть ли разница в использовании набора языков у нас и в диаспоре? Да, есть:
Похоже, преобладание Java — это свойство аутсорсинговой направленности индустрии, также у нас больше разрабатывают на PHP, чем на Python, а в диаспоре — наоборот. Также за рубежом заметно выше использование С++.
Еще одним из источников информации о распределении языков является относительная частота вакансий. Рассмотрим относительную частоту количества вакансий на DOU и на it.rabota.ua (по состоянию на
Видим, что лидеры все те же, однако количество открытых вакансий на С# заметно превышает количество вакансий на Java — похоже, что использование Java выросло быстрее просто потому, что под этот язык легче подобрать людей.
Видны и очевидные особенности рынков: DOU больше ориентирована на аутсорсинг, а it.rabota.ua — на внутренний рынок, поэтому на it.rabota.ua значительно больше доля PHP, а на DOU — Java и С#. Вакансий 1С на ДОУ просто нет, тогда как они составляют заметную часть в объявлениях на it.rabota.ua. А с Oracle PL/SQL наблюдаем обратную ситуацию.
И в заключение — финальная таблица, отсортированная по доле рынка в аудитории DOU:
Язык | Доля рынка сейчас (%) | Изменение (по сравнению с 07/11, п.п.) | Рабочий сейчас | Доля рынка в перспективе | Начали бы проект сейчас | Как дополнительный рабочий | В хобби — проекте | Индекс привязанности | |
---|---|---|---|---|---|---|---|---|---|
1 | Java | 26.19 | 5.6 | 621 | 24.01 | 650 | 531 | 570 | 0.75 |
2 | C# | 21.26 | — | 504 | 23.2 | 629 | 0 | 673 | 0.88 |
3 | PHP | 14.5 | -3 | 344 | 9.12 | 247 | 407 | 631 | 0.610 |
4 | C++ | 10.46 | — | 248 | 7.94 | 215 | 459 | 498 | 0.59 |
5 | Python | 6.33 | — | 150 | 12.52 | 339 | 453 | 424 | 0.91 |
6 | Ruby | 3.8 | — | 91 | 6.64 | 180 | 181 | 198 | 0.83 |
7 | Javascript | 3.71 | 1.08 | 88 | 3.43 | 93 | 1594 | 649 | 0.51 |
8 | Objective-C | 3.71 | — | 88 | 3.47 | 94 | 127 | 132 | 0.69 |
9 | C | 2.02 | — | 48 | — | 20 | 318 | 186 | 0.35 |
10 | ActionScript | 1.68 | — | 40 | — | 20 | 0 | 0 | 0.42 |
11 | Pascal/Delphi | 1.47 | -0.9 | 35 | — | 25 | 0 | 0 | 0.33 |
12 | PL/SQL | 1.01 | — | 24 | — | 10 | 452 | 0 | 0.33 |
13 | 1C | 1.01 | — | 24 | — | 8 | 0 | 0 | 0.33 |
14 | Perl | — | — | 20 | — | 16 | 111 | 83 | 0.60 |
15 | Basic | — | — | 12 | — | 0 | 40 | 26 | 0.08 |
16 | Scala | — | — | 10 | 3.1 | 84 | 47 | 66 | 0.80 |
17 | Groovy | — | — | 8 | — | 25 | 92 | 40 | 0.63 |
18 | Apex | — | — | 4 | — | 0 | 0 | 0 | 0.25 |
19 | Lua | — | — | 4 | — | 0 | 45 | 25 | - |
20 | Erlang | — | — | 4 | — | 17 | 31 | 22 | 0.25 |
21 | Haskell | — | — | 1 | — | 17 | 0 | 37 | 1.00 |
22 | F# | — | — | 1 | — | 12 | 0 | 7 | - |
23 | Lisp | — | — | 1 | — | 0 | 33 | 43 | - |
24 | Asm | — | — | 2 | — | 0 | 0 | 35 | - |
25 | Fortran | — | — | 0 | — | 0 | 0 | 6 | - |
Сырые данные опроса и скрипты обработки на языке R можно взять на github.com/rssh/dou_pl_questionare.
73 коментарі
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.