×Закрыть

Рейтинг языков программирования (результаты второго опроса)

В опросе, который проводился с 5 июля по 9 августа, приняли участие 3040 человек (2663 из Украины), полгода назад эти цифры составляли 2394 и 2079 соответственно. Доля участников прошлого опроса в этом: 23%.

Краткая сводка — лидеры все те же (С#, Java, PHP), JavaScript приобретает значение как основной язык разработки, разработка на чистом С маргинализируется, Scala пророчат большое будущее.

Собственно результаты:

На каком языке вы написали свою первую программу?

И что сейчас:

На каком языке пишете для работы сейчас?

Пятерка лидеров не изменилась, больше всего у нас по-прежнему пишут на С#, затем Java, третий по емкости рынок разработки PHP, затем С++. Второй эшелон так же возглавляет Python, за которым следует Ruby, а 1С опять замыкает границу маргинальности. Единственное значимое изменение — JavaScript, как основной язык используют уже больше чем Delphi.

Еще взглянем детальнее на распределение долей — увеличивается ли разрыв между С++ и Java или нет:

Доли языков в сравнении с прошлым опросом

Здесь мы видим что разрыв между С# и Java увеличивается, но незначительно, единственные изменения «лежащие на границе» статистической значимости: это увеличении доли PHP на 1% а JavaScript — почти на 3.

Кстати, раз уж заговорили о статистике — опишем модель, которую мы используем, чтобы назвать изменения в распределении использования языков программирования во времени статистически значимыми — мы считаем основной язык программирования нормально распределенным свойством и думаем, что изменения статистически значимы, если результаты данного опроса и предыдущего не могут быть разными группами в одной популяции c обычным доверительным интервалом (0.95%). На самом деле это очень сильное утверждение, так как мы при этом не берем во внимание следующие факторы:

  • объем всей популяции у нас сравнительно мал (сколько программистов в Украине — ну явно меньше 100000)
  • при этих изменениях гипотеза обратного утверждения (то есть предложение о том, что популяция не изменилась) почти всегда неверна

Поэтому, мне кажется, что в нашем случае:

  • нельзя говорить о изменениях ниже планки 95-ти процентной достоверности, как о белом шуме — они все-таки выражают тенденции, другое дело что мы не можем их статистически верифицировать.
  • обычная граница вероятности справедливости гипотезы о изменениях слишком высока, введем 2 границы: 0.05 (обычная статическая значимость) и 0.10 (граничная). То есть если с вероятностью в 90% распределение языков в прошлом и этом опросе не может быть одинаковым, то мы это будем отмечать.

Теперь посмотрим, какие языки люди считают перспективными для следующих проектов:

Если бы вы начинали сейчас коммерческий проект, и у вас была бы свобода выбора...

Как и раньше, Python начинает опережать PHP. Из сюрпризов — значительное увеличение упоминаний Scala, дающее языку устойчивое положение во второй группе. Можно составить индекс удовлетворенности языком как процент пользователей языка, которые выбрали его же сами в коммерческом проекте в своей области:

Индекс приверженности к языкам

Итак, пользователи С#, Python и Ruby менее всего склонны менять язык разработки, а более всего — разработчики на чистом С (сюрприз) а также 1С и Delphi.

Что бы выбрали сейчас те, кто сейчас разрабатывает на С: в основном С++ (31.5%), осталось бы на С 22% (это то что отложено на графике), следующие направления — Python (12.5%), Java (10%), C# (9%) и PHP (4,6%).

Те, кто разрабатывает на Delphi, выбрали бы в следующих проектах С# (24%), Java (14%), Python (10%) и С++ (8%). У 1C ситуация похожая: C# (20%), Python (12%), Java и С++ (по 8%)

Еще интересно направление миграции из Java — наибольшее число тех, кто выбрал бы для следующего проекта другой язык программирования, выбирают Scala (10%), за ним идет С# (5%), Python (3.5%) и Groovy (3.2%).

Какие дополнительные языки вы используете для работы?

Как и прежде, все используют JavaScript. Еще С как дополнительный входит в основную группу, также как дополнительный часто используется Groovy (чаще чем Scala). Кстати, появление SQL в этой таблице свидетельствует о том, что значительная часть участников не прочитала предисловие к опросу. Выражаю искреннее сочувствие их работодателям.

Теперь о своих проектах: они есть у 77% людей, принимавших участие в опросе, распределение языков следующее:

Есть ли у вас свои pet-projects? Если есть, то на каких языках?

Что интересно — значительно увеличилось число проектов на JavaScript и PHP, Java переместилась с первого места на четвертое по количеству собственных проектов.

Как принимается решение о выборе языка?


(по-прежнему — по-разному)

Перейдем к рассмотрению демографических характеристик. Сначала — просто распределение опыта работы программистов, по сравнению с прошлым опросом:

Распределение опыта работы программистом

Видно, что наша аудитория стала немного опытней. Доля программистов со стажем > 10 лет составляет порядка 20%. Посмотрим еще на распределение по возрастным группам:

То есть разработка по-прежнему профессия молодых, в основном от 20-ти до 30-ти.

Следующая возрастная категория — уже только треть от предыдущей.

Ну а разработчик старше 50-ти у нас экзотика. Кстати, в опросе приняло участие 11 людей из этой группы. На чем они пишут: C# , Java (3), C++ (2), а также Ruby, Delphi и С (1).

У разработчиков от 40 до 50-ти немного другая картинка: С++ (16), PHP (7), Java (7), C# (5), Delphi (3), Python (2) и по одному для Ruby, PL/SQL, Perl, JavaScript, DBase, Basic и 1С

А вот в основных группах, распределение языков близко к общему.

Еще вопрос — насколько часто люди меняют основной язык: оказывается меняют, но не очень часто. Вот диаграмма где в качестве основного разбиения — опыт работы программистом, а в качестве дополнительного — опыт работы на данном языке:

Опыт работы программистом/на выбранном языке

То есть где-то половина программистов с более чем десятилетним опытом хоть раз да сменили основной язык, а где-то 10% осваивают новый. Также заметим особенность первой колонки — существуют люди с опытом работы программистом год и меньше, но более чем десятилетним опытом работы на выбранном языке. Очевидно это наши 23-летние сеньоры ;)

Еще обратим внимание на то, есть ли разница в использовании языков программирования для разработчиков, которые находятся в Украине и за ее пределами:

Есть и все та же: там больше пишут на С++ и Python и меньше — на PHP и Java.

Наконец, финальная таблица:

Язык

Доля рынка

diff (изменение относительно опроса 2010-11)

Рабочий язык сейчас

Доля рынка в перспективе

Начали бы проект сейчас

Как дополнительный рабочий

В хобби проекте

Индекс приверженности

С#

22.33

678

25.11

752

594

673

0.84

Java

20.38

619

20

610

558

570

0.68

PHP

17.35

1.07(p=0.06)

527

10

308

523

631

0.50

C++

11.72

356

10

301

526

498

0.59

Python

6.29

11

348

485

424

0.81

Ruby

4.05

123

6.5

196

179

198

0.78

Objective-C

3.06

93

2.7

81

131

132

0.59

JavaScript

2.60

0.7 (p=0.058)

79

2.8

86

1757

649

0.45

Delphi

2.27

61

1.0

31

125

135

0.39

C

2.14

65

-

23

382

186

0.23

ActionScriot

2.07

63

1.16

35

0

0

0.5

Perl

1.54

47

-

29

184

83

0.46

1C

1.11

34

13

36

24

0.35

PL/SQL

12

0

9

0

0.16

Basic

10

0

62

26

0.30

Scala

9

3

91

57

66

0.55

Groovy

8

1

29

96

40

0.62

Lua

6

0

53

25

0.16

DBase

5

0

11

5

0

Erlang

4

17

15

22

0.5

Lisp

4

16

32

43

0.75

Haskell

2

21

22

37

0.5

Fortran

1

0

8

6

0

Asm

1

0

77

35

0

F#

1

7

7

7

0

Cobol

0

0

2

1

0

Данные опроса и скрипт обработки на языке R можно найти на github.com/rssh/dou_pl_questionare.

  • Популярное

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

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

Очень хочется увидеть аналогичный анализ по состоянию на июль-август 2012 года. Руслан, спасибо Вам за статью.

Мне всегда было интересно почему везде Delphi называют языком программирования, а не Object Pascal пишут например? Понятно, что и так все понимают о чем речь, но все же?

Потому, что Borland начиная с Delphi 7 волюнтаристским решением переименовал Object Pascal в Delphi

Scala пророчат большое будущее

Потрясающий взрывной рост, в прошлом году на скале програмило 3 человека, в этом 9!

Вобще-то фраза о скале была в контексте вопроса: «если бы вы начинали проект сейчас и у вас была-бы свобода выбора ....», а там цифры — 46 и 96 соответственно.

Вообще то фраза о скала которую я процитировал — это третье по счету предложение в статье, ну и сколько там человел «опять хотят в Париж» я думаю на ситуацию мало влияет.

Ну если вы сможете не только посчитать порядковый номер, но еще и (was: процитировать (сорри, имелось в виду «понять» )) понять ее без искажений, то убедитесь что там написано ровно то, что написано ;)

Я эту фразу скопипастил.

Интересно, чем вызван такой разрыв рейтинга С у TIOBE (2 место с 17.39%) в сравнении с оным у ДОУ (10 место с 2.14%)?

Наверное тем, что у нас мало кто занимается разработками связанными с системным ПО, микроконтроллерами и другими областями, где С пока конкурентов нет. В аутсорсе (которого большинство) либо корпоративные (С++, С#, Java), либо стартапы и веб, а это python, ruby, php.

Да системное ПО мало аутсорсят...

Не так много людей отличающих Ц/ЦПП/ОбжективЦ/Ц№. А TIOBE не опрашивают «целевую аудиторию», а смотрят поисковые запросы (грубо говоря), под этот же пункт попадают студенты, которые ищут инфу для учебы.

Второй момент: Это все-таки специфика Украины — в основном аутсорс + куча маленьких конторок бизнес которых более ориентирован на всякие вебы или мобилочки (сейчас).

Тобто веб і всякі айдроїди — це місцеві побрякушки, а круті західні програмісти роблять щось серйозніше? Це цікаве питання, не хотілось би бути відірваним від світу тільки тому, що аутсорс у нас такий.

Тобто веб і всякі айдроїди — це місцеві побрякушки, а круті західні програмісти роблять щось серйозніше?

Если вы поняли мой пост так, то это ваши проблемы.

Це цікаве питання, не хотілось би бути відірваним від світу тільки тому, що аутсорс у нас такий.

Вы знаете что такое “среднее”? Я говорил не об ситуации, а о среднем. И то что это среднее определяется в Украине аутсорсом — это факт (без применения оттенков плохо/хорошо).

У мене жодних проблем, просто спитав. А у вас, напевно, таки да...))

Python в Украине слабее развит чем в мире, порой питонщиков нормальных и не сыщешь )

С джавистами тажа хна, дотНетчики так же жалуютсо, а плюслвики вапше плачут.

Отчего бы нам, плюсовикам, не плакать? :)
Нормальных вакансий кот наплакал. На приличный заработок требуются сеньоры.. а где же их взять? Такое впечатление, что компании считают, что ими рождаются.
А идти набивать опыт за гроши — тоже не хочется, если можно легко и просто переквалифицироваться в того же дотнетчика и получать приемлемую ЗП на старте.

У мене як «плюсовика» такі ж сумніви — триматися за плюси, які мало кому потрібні, чи плисти за течією і не паритись?

Это ваш выбор. Тут не надо слушать чужое мнение.

Я пытался освоить Java EE, но секс со Spring’ом и Hibernate’ом окончательно отворотил меня — остались лишь дурные воспоминания. Я не вижу Java в энтерпрайзе вообще, я вижу только Java на Андроид девайсах, где ее так пропагандирует google.

C# сугубо виндовый, поэтому пас.

Поэтому я решил освоить на всякий случай python, который сейчас и изучаю на досуге. Хотя все равно для себя решил держаться за плюсы — безумно нравится язык и я нахожу его очень удобным, особенно если считать с boost’ом, qt’ом и недавно принятым стандартом! =)

Аналогічно. Почав працювати на RoR, а C++ перейшов у категорію хобі.

На приличный заработок требуются сеньоры.. а где же их взять?

Ну,... попробуйте стать синьором :) Чем не вариант?

Такое впечатление, что компании считают, что ими рождаются.

С джавистами такая же хна: много спроса на джунов и синьоров, при этом много джунов и псевдо-синьоров. А вот настоящих синьоров малавата.

А идти набивать опыт за гроши — тоже не хочется, если можно легко и просто переквалифицироваться в того же дотнетчика и получать приемлемую ЗП на старте.

А на финише? Тут прийдетсо решать самому!

Ну,... попробуйте стать синьором :) Чем не вариант?

Вариант. Но для того, чтобы стать сеньором нужен опыт. И опять же, идти набивать этот опыт за гроши — не все хотят. =)

С джавистами такая же хна: много спроса на джунов и синьоров, при этом много джунов и псевдо-синьоров. А вот настоящих синьоров малавата.

Да, но тот же Java Junior получает, зачастую, побольше, чем Junior C++.

А на финише?

А финиш может быть очень даже не плох :) Я бы сказал, тут всегда есть куда расти — но нужно прилагать немало усилий.

Тут прийдетсо решать самому!

Истину глаголишь! =)

Да, но тот же Java Junior получает, зачастую, побольше, чем Junior C++.

А синьор? Можно условно разбить:
— джуниор больше инвестирует;
— мидл где-то 50/50 инвестиции/прибыли (хотя наверное 60/40);

— синьор собирает урожай;

А финиш может быть очень даже не плох :)

Я не пытаюсь вас не в чем убедить, но «Так ты слона не продашь» ©

Да, но тот же Java Junior получает, зачастую, побольше, чем Junior C++.

Джуниоры на Java иногда получают побольше миддлов на С++ :)

И это хреново ....

это сарказм? ©

Не, это суровая правда жизни: найти нормального джависта очень сложно.

Неужели никто не пишет на ASP или ASP.NET

Блин, что один, что второй :)

Дима, C# - это далеко не ASP и не ASP.NET. В ASP вообще на jscript, vb-script писали (некоторые и на PERLscript), и писали тогда, когда о C# даже в Майкрософте не знали ). В ASP.NET хоть на питоне пишите, хоть на бейсике, и оно от этого меньше ASP.NET не станет, чем вы бы на C# писали.

И еще, для ветко-стартера, ASP и ASP.NET — это не языки, а технологии, фреймворки, можно еще как-то их обозвать, но не в этом суть. Тема исследования — рейтинг ЯЗЫКОВ программирования, а не фреймворков, технологий, и т.д.

Про АСП согласен, но кто сейчас пишет на старом чистом АСП? Используют новый .НЕТ
В .НЕТ приоритетный язык все-таки C# . Второй по используемости Бейсик. И мне кажется что АСП.НЕТ-чики голосовали в рейтинге за C# и Бейсик в зависимости от того, что они используют при обработке логики АСП-шных страничек.

Насчет Питон.НЕТ — ну это уже извращение )))

На АСП уже вряд ли :)

Ну і як же при таких розкладах не стати сеньйором в 23? Виходить, програмісти із порно-актрисами мають дещо спільне. Сьогодні тобі 23, завтра ти уже «MILF» :) Про післязавтра(40+) краще і не думати.

SILF :)
Если в 23 ты senior, то в 30 наверное уже senile :)

к 40 годам програмист должен отрастить бороду и написать свой язык программирования )

маргинализируется
 — какое хорошее слово
Меня как Джава разработчика смутило падение популярности языка. Сам я не вижу предпосылок уменьшения ее доли на рынке ведь есть же набравший обороты андроид. Неужели энтерпрайз уже меньше на яву ориентируется?

Есть ли какие-то мысли по этому поводу?

(-:

Отлично же. Больше потребности в java разработчиках, больше ЗП и интересных проектов!

Неужели энтерпрайз уже меньше на яву ориентируется?

Ориентируетсо (по слухам), тока шас модно аутсорсить в Китай и Индусы движутсо вперед, а Украина догоняет (а по факту отстает потихоньку)

Мабуть, джавісти переповзають на Скалу і Груві.

Приятно видеть Ruby в столь высоких позициях :)

А ведь отличное исследование, спасибо, Руслан!

Приятно и взглянуть на результаты и полюбоваться методологией.

Из сюрпризов — значительное увеличение упоминаний Scala, дающее языку устойчивое положение во второй группе.

ИМХО, это не сюрприз. Скала сейчас в моде, как раньше Груви, только надо делать уточнение что к нам мода доходит с задержкой.

На третьем графике подписи к 4й и 6й колонкам потерялись

Добавьте, пожалуйста, легенду цветов к

Опыт работы программистом/на выбранном языке

, очень уж там интересные волновые тенденции по популяности.

Шарп, блін, за що його в топ?

Охохо! Let the holywar begin! ;)

Ні, ну серйозно. Я знаю дуже-дуже мало людей, які мали стаж до того на Джаві/РНР/С++... і осознано за власним бажанян перейшли на Шарп. Зато знаю кучу людей, які з нього почали (курси) чи були змушені вивчити під проект.

а я знаю багато перших і багато 2-х. і?

p.s. у вас люди вимірюються кучами? +усвідомлено, «єслі чо».

і весь прикол в тому, що реальним пацанам по-барабану платформа. де платять більше там і їх дім. це дуже проста логіка.

сорі за +. випадково клацнув не там.

Значит ваша, скорее всего, более узкая выборка не совпадает с показанной в статье, опять таки, скорее всего, более широкой. Вот и всё.

А я кстати наоборот очень много знаю людей которые до перехода на .NET работали на C++ , включая меня самого. Как ни крути,а для бизнес-приложений с .NET-ом/Java-ой куда приятней работать.

увеличении доли PHP на 1% а JavaScript — почти на 3

То есть доля PHP увеличилась с 15% до 15,15% ;)

Тут правильно говорить «процентные пункты»

Ну я так и написал — увеличилась на 1 процентный пункт. Если бы в самом деле доля увеличилась на 1% — то в этом году было бы 16,4731% (16.31 * 1.01)

А, теперь понял — спасибо.

В некоем приближении есть сходство с индексом TIOBE: www.tiobe.com/...tpci/index.html

только С# там на пятом месте (:

там больше пишут на С++ и Python и меньше — на PHP и Java.

Ну теперь для себя я вижу два выхода: переезжать за границу, или популяризировать C++/Python у нас в стране (что стремится к невозможности). :)

Не вижу особого отсутствия популярности питона в Украине, огромный спрос на питонистов, (качественное) предложение почти отсутствует, тем не менее. Так что я даже не знаю, надо ли популяризировать.

согласен, спрос большой и в отсутствии предложения мы даже переучиванием с других технологий если есть желание у кандидата.

Интересно ваше мнение, сильно тяжело переучивать?

Кого бы взяли охотнее, средненького, но Питонщика или сильного но Джависта или .NETчика? (з/п, личностные качетва одинаковые...)

тут скорее все зависит от желания кандидата и его умственных способностей, а не от опыта в технологиях, питону способного разработчика можно научить за 2-3 недели, а через пол-года отличие от опытного разработчика будет слабо различимым. Но это все при наличии светлой головы.

Допопуляризировались. Кажется, Python paradox уже закончился. Теперь питон — уже мейнстрим, в том смысле, что его знают не только продвинутые любознательные программисты, а много кто. Любой более менее знающий его программист востребован, но предложение не поспевает.

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