Опрос по языкам #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.

Похожие статьи:
Сеть интернет-телефонии SIPNET объявила о начале публичного тестирования технологии WebRTC (Web Real Time Communication).Это стало возможным, со слов...
[В серії «Огляд IT-ринку праці» ми розповідаємо про IT-індустрії в різних містах України] В ІТ-індустрії Ужгорода зайнято 800-1000...
Всем привет! Меня зовут Мария Агеева, я Android-разработчик. Около 2 лет работаю с GraphQL. Хотела бы поделиться опытом работы с этой...
Онлайн курсы Android программирования от U-Rise. С Бесплатной Неделей обучения и гарантией результата. Первая онлайн школа...
Восени ми розпочали великий проєкт, щоб оцінити українські міста з погляду їхньої зручності для проживання...
Яндекс.Метрика