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

44 комментария

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

> Опыт работы программистом
> Cудя по графику, приток людей в отрасль замедлился

По-моему, это надо интерпретировать совсем не так: идёт жуткий хайп, и резкий выброс количества со стажем менее года отражает как раз нашествие новичков. Этот всплеск очевидно начался около 2-х лет назад (первая группа колонок), но отсутствие их перехода в категорию хотя бы годовалых показывает, что удерживаются относительно немногие. Это коррелирует с рассказами вокруг типа «у нас сейчас 500 желающих на вакансию тестера».

Интересен всплеск начавших в 2005 году —

Ещё — выделение отдельной категории 10+ становится, с такими результатами, неадекватным. Я бы предложил вместо этого попробовать использовать логарифмическую шкалу, начиная с банальной двоичной (тогда будут категории 0-1, 1-2, 2-4, 4-8, 8-16 лет и так далее). Для сравнения с прошлыми разами можно расписать по году отрезок до 10.

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

Без цифр совсем непонятно.

1 — Про 10+ : тут мы привязаны к выбору который сделан 7 лет назад. Надо продумать;. Про хайп — он есть, но он меньше чем в прошлом году.
2. — да, сделаю версию с цифрами — выложу, отпишусь

А чему равны усы на box plots?

выбросы. (не лежать в квантиле, но есть в данных)

Этот опрос доказывает, что Go — язык 2016 года. Сомневающимся сюда — dou.ua/forums/topic/16012 и сюда — www.tiobe.com/tiobe-index .

не спора ради, но ведь в «финальной таблице» он 15й. Или где он доказывает?

На tiobe он язык года, но есть одна странность:
web.archive.org/...ww.tiobe.com/tiobe-index
„The restriction ‚Google’ has been removed from the search queries for the programming language Go. .. Go jumped from position #55 to #20. ”

„Programming Language of the Year” award ... is given to the programming language that has the highest rise in ratings in a year.

А вообще я не отрицаю, что язык популярный. Просто знаю, что вы его евангелист. Дай, думаю, войду в диалог ни о чём.

Это на самом деле проблема: сейчас то 2017 ;)

Тогда языком 2017 года станет golang :)

нет — проблема что если go язык 2016, то языком 2017 он уже не станет :)

Судя по трендам, тенденциям, все идет к упрощению, автоматизации, веб и кросплатформенность. То что было и будет восстребовано со временем, это специалисты которые могут создавать «вещи» (библиотеки и другое, для масс на низкоуровневых языках).
Все остальное еще 100 раз поменяется, все ускоряется, и те вещи, что сейчас делают «крутые» спецы по ява или питону и по другим подобным языкам, лет через 10ть смогут делать школьники лет 10ти отроду... И не потому, что станут умнее, а потому, что станет все проще. Автоматизация, больше интеллекта и т.д. Поэтому все только начинается...

Тоже самое говорили 5-10 лет назад и выпускали всякие Oracle ADF.

Останній графік про мову першої програми цікавий. В кінці 90-х здавалося, що Pascal і Basic одинаково популярні серед перших програм. Зараз виходить, ті хто починали на Basic швидше зникають з ринку ніж ті хто починали з Pascal.

Є ще інший фактор — мені дуууже кортіло писати на Паскалі, але під рукою на початках був лише Спектрум із Бейсіком. Щойно з’явилася IBM PC машина, я те збочення забув :)

і на яку мову переключилися на IBM PC?

Turbo Pascal 7.1 :)
Машина була звір, у 1999 році можна було купити повноцінний комп, ще й з дисками з софтом за $100. Але то був 80486DX2 66 МГц :)

Ностальгия по спектруму и его бейсику, вшитому в ПЗУ)))

Цікава статистика. Дякую.

Судя по графику «Возраст разработчика в зависимости от языка:»
Delphi и 1С — верный признак старческого маразма.

программисты, кстати, пока работают и мозги тренируют — обычно стареют без маразма

Для деяких людей, які пишуть на Делфі, і не знають та не хочуть знати що таке автоматизовані тести, системи контролю версій та повторне використання коду не можна напевно сказати, що вони треновані

И что не так с Делфи? Или с С++ тоже не все ок? ))
То что Делфи сейчас не в моде это и так понятно, но язык развивается, и если кто то чего то там не знает или не ориентируется...
Что касается трендов, тенденций, то все очень сильно упрощается, и тех навыков, что раньше требовались, что бы стать программистом, сейчас уже не требуется. Главное знание английского, немного выучить «умную» лексику, пойти на какие нибудь курсы ява или питона, и ты уже «крутой» программер!
Пройдет время, написание/разработка программ еще упростится! Железо станет мощнее, и можно будет больше всякой дури прокручивать без особого ущерба для скорости выполнения задачи. (что сейчас уже и делают) Оптимизация? Да кому она нужна! (иначе список востребованных языков начинался явно в другом порядке, asm, C++ и т.д.)
Мода такая штука, что постоянно меняется... Но немного странно читать некоторые комменты, особенно когда люди не ориентируются. Под Delphi уже не первый год можно писать кроссплатформенные приложения FireMonkey, под тот же Андроид или АйОС. (что многие и делают)
Вообще если человек знает язык типа Pascal(Delphi) или VC++ то перейти на, что то другое не составит труда, а вот с более «модных» нынче языков перейти на С++ или АСМ, что то из области фантастики... тут уж «крутизна» и заканчивается...

P.S. Вообще если выбрали область ИТ и именно программирование, будьте готовы всегда учиться!

Мне вот интересно, есть ли какая-нибудь статистика по использованию Delphi.
Язык, действительно развивается. Но для украинского аутсорса он мертв. На нем пишут только проекты для местных заказов.
С удивлением однаружил на фл.ру, да еще на 6 месте делфи прогера. Берет примерно 15$ в час. И пишет реально немаленькие проекты. И реально чел на коне, т.к. может писать сразу под 3 платформы. И он не один там такой. Получается, по странам СНГ- делфи язык фрилансеров и местных фирм.
А как ситуация в мире? кто готов отвалить 3000$ за делфи? Вот, что интересно.

Delphi развивается?
Что-то на сайте Borland о ней ни слова. :)

Что-то на сайте Borland о ней ни слова. :)
Borland продала Delphi компанії Embarcadero ще у 2008 році. Відповідно інформація про Delphi тепер на сайті Embarcadero: www.embarcadero.com/products. Останню версію випущено у травні 2016 року.

У каких разработчиков за последние 5 лет (допустим джун/мидл вакансии) стало проще интервью или требования к кандидатам / уменьшился порог вхождения?

Юначе... В мене IDE Delphi була з плагіном інтерації MS VSS (система контролю версій) ще 17 років тому. Ну а ООП (який був в Делфі ще навіть до того як з’явилася Java) модулі і бібліотеки вони про code reusability.

Я написав

Для деяких людей
. Деякі != Всі

Взагалі-то Delphi i Java з’явились майже одночасно — в 1995. Чи то посилання на об’єктний паскаль?

Так, сама мова з об’єктами і модулями з’явилася раніше + перша версія Delphi у мене була ще раніше — Fild Test Version.

Проблема не в Делфі, а в тому, що ця мова досі культивується в дуже кустарних місцях. І саме тому там немає всього перерахованого.
Я це знаю, бо я колись з такого місця втік в аутсорсинг, а потім як прийшов розповідати про баг-трекінг і репозиторії, то від мене відмахнулись, сказавши, що на це немає часу...
Ну звісно, зошит з записаними від руки дефектами і періодичний мердж коду ручками в Тотал Командері — це суттєва економія часу :-D

А что по Вашему кустарный продукт? К примеру, система которая работает на 450 филиалах более 15 лет, до сих пор активно развивается, пережила три глобальных рефакторинга это кустарный проект или нет? А писать дефекты в тетрадку и мержить в Тотале можно и для любого современного языка. Вы пытаетесь сравнить аутсорс и энтерпрайзом, где для Делфи и место. При этом разработка на Delphi ложится в GIT и в дальнейшем апдейтися, мержится куда легче чем C# со своим долбаным дизайнером форм, переставляющим строки как вздумается.

Будь-яка людина, яка тренує свій мозок принаймні читанням, доживає до старості з яснішою головою.. Це я навіть на прикладі своїх родичів можу бачити.

маразм не залежить від вибраної мови програмування, на делфі написано повно успішних проектів, в мілком’яких є повно вакансій для делфі. Навіть Козаки останні на делфі (на хабрі була дискусія)...
я б хіпстерів нормальними також не назвав.

Покажіть вакансії від Microsoft для Delphi. Просто цікаво побачити

Это точно. Учитывая, что они были прямыми конкурентами, и мс увел еще из Борланда главных архитекторов, с которыми и написал платформу .NET Помню, с какой обидой я наблюдал за этими процессами. Ибо в то время для разработчиков продукты от МС были полнейшим ахтунгом. Но бабло решило все.

Вы вытерли свой вопрос про Java в Microsoft, а зря.
Microsoft продукты на Scala и Java поддерживает.
msdn.microsoft.com/...ru/magazine/mt595756.aspx
azure.microsoft.com/...ru-ru/services/hdinsight

Ну, так потому и вытер, да и топик прочитал не верно. Мелкие хотели и джаву потушить, да и сейчас, пожалуй хотят. Что, впрочем, естественно. Так все хищники поступают.

Любопытно будет почитать лет через 10ть, но уже другие комменты, о нынче модных языках... (хотя нет, тогда будет все еще по другому, и комментов писать никто не будет, кроме некоторых закоренелых «маразматиков» старческих) =))

Шел 30 год похорон Delphi :)

Подписаться на комментарии