Quantcast
Channel: Найцікавіше на DOU
Viewing all articles
Browse latest Browse all 8115

Опрос по языкам #9: Go и TypeScript вошли в высшую лигу, Kotlin стоит воспринимать серьезно

$
0
0

[Оригинальные данные и скрипты обработки можно взять на GitHub]

В опросе принял участие 7361 человек, 90% участников проживают в Украине.

Коммерческое использование

Тройка лидеров не изменилась. Go и TypeScript впервые вошли в десятку самых используемых, а Clojure — в двадцатку.

А вот динамика последних лет:

Видим, что Java хоть и остается самым распространенным, но последние два года доля этого языка значительно сокращается. Возможно, это связано с развитием альтернативных JVM языков, а может быть, и с альтернативами самой JVM.

JavaScript по-прежнему растет, но темпы его роста значительно замедлились. Впрочем, картинка меняется, если вспомнить, что TypeScript является расширением JavaScript. Тогда видно, что суммарные темпы роста JavaScript/TypeScript остаются те же.

Доля C# так же медленно понижается, как и раньше. Доля Python растет, он уже однозначно стал доминирующей платформой в Data Science.

Самое примечательное — резкое возрастание роли Go. С одной стороны, легкий порог вхождения сделал свое дело, разработчики «почувствовали» вкус высокоуровневой поддержки конкурентности, с другой — наличие встроенных средств для организации структурированного RPC. Сейчас можно сказать, что Go занял свою нишу.

Еще более примечателен рост использования TypeScript. Тут мы видим, как распространение языка начинается с фреймворка: так как новая версия Angular написана на TypeScript, проекты, использующие Angular, тоже начали переходить на этот язык.

Переход iOS разработки на Swift более или менее предсказуем: если в прошлом году Swift использовала где-то половина iOS разработчиков, то в этом году — 76%.

Доля Scala за год осталась практически без изменений. Немного выросло использование C.

Еще примечательно возрастание доли Kotlin практически с нуля до почти одного процента. Вероятно, это связано с тем, что Google приняла его официальным языком разработки в Android.

И последняя новость, статистически незначимая, но приятная для функциональных разработчиков. В этот раз в двадцатку наиболее используемых языков попал Clojure.

Личные предпочтения

Тут мы видим похожую ситуацию. Разве что уменьшение доли Java более стремительное, как и увеличение доли Kotlin. То же самое с JavaScript и TypeScript.

Scala реже рассматривают как язык следующего проекта, хотя все равно больше его текущего использования. Так что заводить в Украину проекты еще возможно.

Также можно отметить «вторую волну» интереса к Rust и наличие ядра сторонников Erlang.

Посмотрим на наш «индекс предпочтения» — относительное количество пользователей языка, которые для следующего проекта в своей области выберут его же:

Тут тоже интересно: Swift и Kotlin стали практически безальтернативным выбором для iOS и Android соответственно. Следующий предпочитаемый язык — Go, а затем уже фавориты предыдущих лет: Scala, C#, Clojure.

Языки, которые пользователи предпочитают не использовать в следующих проектах: Groovy, Objective-C, 1C, Apex.

Изучение новых языков

Большая часть опрошенных (52%) точно планируют изучить какой-то новый язык программирования в следующем году; еще 30% не уверены. Какие языки интересны для изучения — можем уже сказать в динамике за 2 года:

Фаворит изучения этого года — Python, также будут смотреть на Go, TypeScript, Kotlin. Есть люди, еще не знакомые с Java и JavaScript.

По-прежнему большинство респондентов (57%) собираются осваивать новый язык самостоятельно с помощью книг и документации, не прибегая к курсам. Онлайн-курсы будут смотреть 30%, а к помощи офлайн-курсов с преподавателями прибегнут 8%.

Дополнительные языки

Главный дополнительный язык — JavaScript, также активно используется Unix Shell. Как и прежде, возросла доля процедурных расширений SQL (PL-SQL и T-SQL) и добавился TypeScript.

Свои проекты

Тенденции, в принципе, повторяются. В какой-то мере сюрприз — увеличение количества своих проектов на PL-SQL. Возможно, мы таки увидим замену 1C ;) Также немножко больше начали писать на C.

Финальная таблица

ЯзыкДоля рынкаИзмененияОсновнойДополнительныйСвои проектыИндекс удовлетворенности
1Java20.67-2.7142994515440.63
2JavaScript16.541143360923220.61
3C#14.1197555710830.77
4PHP13.0590270010530.60
5Python9.76+1675117411500.69
6C++4.963435666140.59
7Swift3.4+1.162351613060.86
8Ruby2.972052302490.60
9Go2+1.21402933700.85
10TypeScript2+1.751399175220.64
11Scala1.551071791840.77
12C1.4963542440.28
131C1.127850520.18
14Objective-C1-0.79732851470.18
15Kotlin+0.7642432100.86
16PL-SQL688941530.22
17T-SQL557802090.24
18Pascal/Delphi40881290.3
19Perl2197350.3
20Clojure2031710.75
21R20125820.25
22Apex11310.18
23ActionScript1142380.3
24Groovy1195140.01

Тут изменения в доле рынка отмечены только в том случае, когда они статистически значимы. То есть с вероятностью 95% данные двух опросов не могут быть собраны на основе данных разных групп внутри одной гауссовской популяции.

Дополнительные данные

Возраст разработчиков в зависимости от языка:

Самая молодая тусовка — по-прежнему Kotlin. Медианный возраст — 24 года, 27 — для Java разработчиков, 28 и 29 — для Go и Scala соответственно. А самые взрослые — разработчики на Pascal/Delphi, тут медианный возраст превышает 37 лет.

Посмотрим на зависимость между языком и опытом работы:

Особых аномалий нет — люди приходят в программирование через JavaScript (и немного R, наверное работая с Data mining). Perl, Pascal/Delphi (и, вероятно, в недалеком будущем — PL/SQL) — потенциальная область риска.

Общие данные по опыту работы:

Доля разработчиков с опытом год или меньше впервые за последние 7 лет начала снижаться. Либо замедлился рост индустрии и мы переходим в состояние зрелости, либо система образования «не успевает».

И мозаика этого года: видно, что через 4 года большинство разработчиков меняют свой первый язык программирования на что-то другое.

Есть ли разница в использовании языков у нас и за границей?

Разница довольно большая. Видно, что за границей больше пишут на Java, Go и Scala и меньше — на JavaScript, PHP и C#. Впрочем, там характеристики опыта и возраста аудитории тоже другие, так что механически переносить результаты нельзя.

Распределение возрастов:

Образование

Давайте на этот раз посмотрим первый язык только для новичков в программировании. Это будет отображать изменение в системе образования более точно:

Мы видим, что от Pascal/Delphi постепенно уходят, также больше людей пишут свои первые программы на C++ (больше, чем на Java). Поэтому есть надежда, что вместо позавчерашних технологий студенты будут осваивать вчерашние ;)


Результаты предыдущих опросов: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017.


В заключение — давайте сделаем еще один опрос:

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

  • на украинском
  • на русском
  • на английском
  • мне все равно.

Ответы оставляйте в Google-форме.


Viewing all articles
Browse latest Browse all 8115

Trending Articles