Рейтинг языков программирования №7: PHP уходит с пьедестала
В опросе приняло участие 6181 человек, 20% из них принимали участие в прошлых опросах, 60% не принимали, еще 20% — не могут вспомнить. 91,5% респондентов проживает в Украине, 8,5% — за ее пределами. Сырые данные опроса и скрипты обработки на языке R доступны на GitHub.
Краткая сводка
- Java по-прежнему самый распространенный язык программирования; разрыв между Java и C# - увеличивается.
- JavaScript вошел в тройку лидеров, вытеснив из нее PHP.
- Возобновился рост использования Scala.
- Соотношение Objective-C/Swift все еще 80/20.
Основные языки разработки в 2015
А вот и динамика за последние 6 лет:
Мы видим, что Java по-прежнему лидирует на рынке, и тенденция к росту продолжается. Использование C# по-прежнему сокращается.
Главная новость этого опроса — выход JavaScript на третье место. Скорее всего, это означает, что эра доминирования PHP в начальном секторе web-разработки постепенно проходит. Сейчас начинающим веб-разработчикам имеет смысл смотреть в сторону JavaScript.
Также можно отметить возрастание доли Python’а. Возможно, это связано с возрастанием роли data science компонент в проектах, где Python традиционно используется в качестве языка склейки. Можно отметить и небольшой рост использования Scala. Интересна ситуация с Swift — виден сильный рост, но процесс замены языков далек от завершения: почти 80% iOS разработки — это все еще Objective-C.
Давайте посмотрим, насколько статистически значимы изменения популярности того или иного языка по сравнению с прошлыми опросами. Напоминаем, что мы называем изменения статистически значимыми, если с 95% вероятностью данные двух опросов не могут быть собраны на основе данных разных групп внутри одной гауссовской популяции. Итак, по сравнению с прошлым опросом статистически значимы изменения произошли с JavaScript, Ruby и Swift. Еесть еще возрастание популярности Clojure «в длинном хвосте». А вот по сравнению с позапрошлым — изменений очень много. В основном — процессы, связанные с устареванием одних технологий (C#, C++, Objective-C, ActionScript, Perl) и появлением их заменителей (JavaScript, Swift, R, Go).
Заметим, что большинство участников (89%) могут выделить один основной язык программирования, на котором они пишут больше всего.
Предпочитаемые технологии
Тут ситуация достаточно интересна: с одной стороны, отмечаем повторение тех же тенденций, с другой — несколько странностей.
Видно, что в прошлом году на Java ориентировалось меньше людей, чем сейчас. С другой стороны, наблюдаем уменьшения выбора Scala для следующего проекта. Однако если не учитывать «выброс» прошлого и позапрошлого года, то естественный рост перспективности Scala продолжается. Можно подумать, что значительная часть Java сообщества не была уверена в перспективах своего языка и подумывала о переходе на Scala, что и осуществила в прошлом году. А часть все-таки пришла к выводу о предпочтительности Java.
Еще можно заметить, что тут Swift находится уже выше, чем Objective-C. Go также продолжает набирать перспективность. Можно отметить наличие стойкого ядра сторонников у Erlang и Сlojure.
Посмотрим на индекс удовлетворенности — будут ли люди, работающие на таком-то языке, думать начинать следующий проект на нем же:
В первой группе мы видим Swift и Scala, которые разделяют между собой звание «идеального языка»; еще можно отметить довольно высокую оценку Go по сравнению с соседним опросом. А языки, пользователям систем на которых предстоит задуматься о миграции, — это CoffeeScript и Perl.
Что люди, пишущие на Perl, думают о языке в следующем проекте? Это будет, в первую очередь, JavaScript и Python. Интересен вопрос о том, куда хотят переходить люди, пищущие сейчас на PHP: 60% остались бы писать на этом языке, 10% перешли бы на JavaScript, приблизительно по 8% — на Java и Python,
Дополнительные языки
Тут особых неожиданностей нет. Единственное — доля C перестала падать, а доля C++ начала возрастать — возможно, это связано с ростом hardware-проектов.
Свои проекты
Тут, как мы видим, основные тенденции сохраняются. Тренд, на который следует обратить внимание, — рост Python, Go и R.
Финальная таблица
№ | Язык | Доля рынка, % | Изменение по сравнению с прошлым опросом | Рабочий сейчас | Дополнительный | В своих проектах | Индекс удовлетворенности |
---|---|---|---|---|---|---|---|
1 | Java | 26.3 | 1439 | 804 | 1603 | 0.78 | |
2 | С# | 15.4 | 846 | 511 | 1005 | 0.80 | |
3 | JavaScript | 13.8 | 2.76 | 761 | 2876 | 1914 | 0.71 |
4 | PHP | 13.1 | 722 | 603 | 1014 | 0.60 | |
5 | Python | 8 | 437 | 790 | 816 | 0.72 | |
6 | C++ | 6.4 | 353 | 553 | 611 | 0.61 | |
7 | Ruby | 3.5 | -0.8 | 196 | 178 | 280 | 0.73 |
8 | Objective-C | 3.2 | 175 | 170 | 201 | 0.46 | |
9 | C | 1.3 | 72 | 390 | 222 | 0.33 | |
10 | 1C | 1.2 | 68 | 41 | 61 | 0.22 | |
11 | Scala | 1.0 | 57 | 151 | 177 | 0.89 | |
12 | PL-SQL | 54 | 304 | 63 | 0.20 | ||
13 | Pascal/Delphi | 52 | 85 | 166 | 0.25 | ||
14 | Swift | 48 | 173 | 165 | 0.90 | ||
15 | T-SQL | 40 | 588 | 159 | 0.20 | ||
16 | ActionScript | 31 | 44 | 64 | 0.32 | ||
17 | Perl | 22 | 73 | 41 | 0.18 | ||
18 | R | 16 | 68 | 55 | 0.44 | ||
19 | Erlang | 16 | 31 | 34 | 0.56 | ||
20 | Go | 14 | 133 | 142 | 0.79 | ||
21 | CoffeeScript | 11 | 186 | 66 | 0.18 |
Дополнительные данные
Интересно сравнение с прошлогодним опросом. Erlang дождался свое молодой шпаны, в отличие от Basic. Самые зрелые программисты на R (медиана — 34 года; не так уж и много), а самый молодежный — опять CoffeeScript ;)
Также интересно посмотреть зависимость общего опыта разработки от языка программирования:
То есть медианный опыт разработчиков на Coffe, Java, C#, Ruby, Erlang, Swift и R — 3 года. При этом возраст разработчиков на R — один из самых высоких, то есть можно предположить, что люди пришли в разработку после математики. А вот для Go и Pascal/Delphi — большинство разработчиков с опытом больше
Еще немного интересной информации дает соотношение опыта общей разработки и опыта. Есть два языка, где эти значения совпадают — 1C и Pascal/Delphi.
Посмотрим, как менялся опыт разработки со временем:
То есть более 25% программистов имеют за плечами год или меньше опыта работы.
Мозаика соотношения опыта работы и опыта работы на текущем языке:
91% разработчиков находятся в Украине, 8,5% — за ее пределами. Распределение возрастов разработчиков, как и следовало ожидать, несимметрично. В Украине медианный возраст — 27 лет, в то время как за рубежом — 29:
Распространенности языков тоже отличается:
Что касается образования — большинство людей по-прежнему начинали с Pascal’я, хотя уже видно возрастание тренда использования языков следующего поколения в обучении. Эта ситуация не меняется даже в выборке людей, моложе 25:
Результаты предыдущих лет: 2010, 2011, 2012, 2013, 2014, 2015.