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

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

Самым распространенным языком по-прежнему остается 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 Рабочий Дополнительный В своих проектах Индекс удовлетворенности
1 Java 23.4 -2.91 1892 1129 1965 0.76
2 JavaScript 16.2 2.36 1316 4206 2606 0.69
3 C# 14.9 1210 744 1354 0.82
4 PHP 13.25 1073 852 1253 0.63
5 Python 8.71 0.74 706 1170 1157 0.71
6 C++ 5.5 -0.95 445 681 725 0.62
7 Ruby 3.5 287 279 330 0.68
7 Ruby 3.5 287 279 330 0.68
8 Swift 2.2 1.36 181 236 276 0.87
9 Objective-C 1.05 -1.34 150 283 212 0.33
10 Scala 1.52 0.47 123 207 215 0.81
11 1C 1.27 103 57 85 0.27
12 C 1.1 -0.2 90 473 240 0.37
13 PL-SQL 1 85 583 102 0.24
14 T-SQL 68 959 237 0.28
15 Go 0.55 66 235 251 0.82
16 Pascal/Delphi 66 109 205 0.47
17 Perl 35 140 65 0.28
18 R 35 122 73 0.46
19 ActionScript 30 53 48 0.26
20 TypeScript 21 112 44 0.47
21 Kotlin 16 53 57 0.75
22 Clojure 12 38 68 0.75
23 Erlang 12 43 44 0.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. До нас эти тенденции приходят с некоторым опозданием.

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

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

Залишити відповідь