Опрос по языкам #8: Java по-прежнему доминирует, но доля рынка начала сжиматься

[Сырые данные и скрипты обработки на языке R можно найти на GitHub]

В опросе приняло участие 8186 человек, 90% участников проживают в Украине.

Основные результаты

Самым распространенным языком по-прежнему остается Java (23% рынка), JavaScript вышел на второе место (16%), незначительно опередив C# по популярности. На 4-ом месте, как и прежде, — PHP (13%) с большим отрывом от Python (7%). Программирование на C++ занимает 5% рынка, далее идут Ruby (4.5%), Swift и Objective-C. Замыкает десятку наиболее популярных языков — Scala (1.5 %), опередив C и 1C.

Cо стороны «длинного хвоста» — стало заметным использование TypeScript и Kotlin.

Посмотрим на динамику последних лет:

Видим уменьшение использования Java, несмотря на то, что язык по-прежнему остается самым распространенным. JavaScript продолжает набирать популярность теми же темпами, что и раньше. В секторе iOS разработки Swift продолжает вытеснять Objective-C (сейчас соотношение Swift к Objective C — 55/45, в прошлом году это было 20/80). Также из статистически значимых изменений по сравнению с началом 2016 — увеличение популярности Scala и Go. Снижение популярности PHP прекратилось.

Предпочитаемые технологии

Тут ситуация похожа. Из новостей рост перспективы Go, стал виден Kotlin и TypeScript, а вот Java выбрало бы для следующего проекта заметно меньше людей, чем в прошлом году. Можно предположить, что Kotlin рассматривается как предпочитаемый язык теми разработчиками, которых Java уже ограничивает, а Scala кажется либо слишком сложной, либо не очень подходящей к области. Также можно связать падение темпов роста JavaScript и появление TypeScript: его можно использовать как JavaScript со статической типизацией.

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

Видим, что самый «любимый» язык — Swift, далее в следующей группе идут C#, Go и Scala, а затем — Java, Kotlin и Clojure.

Самый «нелюбимый» — Apex, за ним идут SQL-подобные и устаревающие языки.

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

В этом году мы впервые включили в опрос блок вопросов об изучении новых языков: большинство разработчиков (65%) хотят в следующем году выучить какой-то новый язык.

Какой именно:

То есть 31% еще не знают какой. Наиболее притягателен для обучения — JavaScript (12%), затем Python, Java, Go, Scala и Swift.

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

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

Видим, что в целом картина повторяет ситуацию с основными языками разработки, за исключением появления Unix Shell на втором месте и более высокой позиции расширений SQL.

Свои проекты:

Здесь тенденции те же, изменений по сравнению с годом раньше — меньше. Может быть это связано с тем, что понятие «свои проекты» консервативно: если у меня есть проект на C++, значит, он у меня и останется.

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

ЯзыкДоля рынкаИзменение по сравнению с 2016РабочийДополнительныйВ своих проектахИндекс удовлетворенности
1Java23.4-2.911892112919650.76
2JavaScript16.22.361316420626060.69
3C#14.9121074413540.82
4PHP13.25107385212530.63
5Python8.710.74706117011570.71
6C++5.5-0.954456817250.62
7Ruby3.52872793300.68
7Ruby3.52872793300.68
8Swift2.21.361812362760.87
9Objective-C1.05-1.341502832120.33
10Scala1.520.471232072150.81
111C1.2710357850.27
12C1.1-0.2904732400.37
13PL-SQL1855831020.24
14T-SQL689592370.28
15Go0.55662352510.82
16Pascal/Delphi661092050.47
17Perl35140650.28
18R35122730.46
19ActionScript3053480.26
20TypeScript21112440.47
21Kotlin1653570.75
22Clojure1238680.75
23Erlang1243440.50

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

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

Что мы тут видим — модно, стильно, молодежно — это Kotlin (медианный возраст разработчика: 24 года). Для Java, JavaScript, Python, Ruby, Swift это значение составляет 27 лет. С другой стороны у нас PL/SQL, Perl, Pascal и 1C, как и следовало ожидать. А вот пользователь R помолодел: молодежь бросилась изучать Data Science.

Тут интересны аномалии: с R наблюдается то же, что и в предыдущем опросе (в программирование на R приходят люди извне); Scala и Gо, наверное, можно назвать языками для сеньоров; Perl, Pascal/Delphi и 1С очевидно не испытывают кадрового обновления.

Еще посмотрим на распределение опыта работы программистом по сравнению данными прошлых лет:

Cудя по графику, приток людей в отрасль замедлился, в то же время растет доля разработчиков с опытом старше 10-ти лет. Вероятно, это связано с тем, что условия работы «в IT-пузыре» делают переход в другие отрасли или на управленческие позиции экономически невыгодным.

Посмотрим еще на распределение возраста разработчиков в зависимости от страны:

Различие в формах распределения может нам сказать о масштабах эмиграции прошлых лет.

Различие местного и зарубежного рынков разработки также можно увидеть, сравнив данные об основном рабочем языке от людей, живущих в Украине и от диаспоры:

Видим, что за рубежом гораздо больше используют C, Scala и Go. До нас эти тенденции приходят с некоторым опозданием.

Образование:

Доля «мертвых языков» снижается, также виден рост количества людей, написавших свою первую программу на JavaScript.

Результаты предыдущих опросов: 2010, 2011, 2012, 2013, 2014, 2015, 2016.

Похожие статьи:
В этом году 13 617 IT-специалиста анонимно оценили 853 компании. По результатам их голосования мы составили рейтинг лучших работодателей...
Другий міський фестиваль винахідників Kyiv Mini Maker Faire відбудеться 14 листопада на ВНДХ. Він об’єднає більше 100 учасників, які створюють,...
Этот дайджест написан в соавторстве с Сергеем Жуком. В выпуске: обеспечение безопасности данных пользователей, Kotlin 1.4,...
На правах рекламы Компания Rolsen Electronics представляет 5 достойных внимания новинок. Портативные DVD-плееры с DVB-T/T2 DVD-плеер Rolsen...
Міноборони ухвалило наказ, який затверджує й уніфікує базові вимоги щодо захисту інформації й кібербезпеки у системах...
Яндекс.Метрика