Рейтинг языков программирования 2018: Go и TypeScript вошли в высшую лигу, Kotlin стоит воспринимать серьезно
В опросе принял участие 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.54 1143360923220.61 3C#14.11 97555710830.77 4PHP13.05 90270010530.60 5Python9.76+1675117411500.69 6C++4.96 3435666140.59 7Swift3.4+1.162351613060.86 8Ruby2.97 2052302490.60 9Go2+1.21402933700.85 10TypeScript2+1.751399175220.64 11Scala1.55 1071791840.77 12C1.4 963542440.28 131C1.12 7850520.18 14Objective-C1-0.79732851470.18 15Kotlin +0.7642432100.86 16PL-SQL 688941530.22 17T-SQL 557802090.24 18Pascal/Delphi 40881290.3 19Perl 2197350.3 20Clojure 2031710.75 21R 20125820.25 22Apex 11310.18 23ActionScript 1142380.3 24Groovy 1195140.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). Поэтому есть надежда, что вместо позавчерашних технологий студенты будут осваивать вчерашние ;)
В заключение — давайте сделаем еще один опрос:
На каком языке вы хотите прочитать результат опроса о языках программирования в следующем году?
- на украинском
- на русском
- на английском
- мне все равно.
Маєте важливу новину про українське ІТ? Розкажіть спільноті. Це анонімно. І підписуйтеся на Telegram-канал редакції DOU