Рейтинг языков программирования 2021: доля Python падает, а TypeScript обошел С++, в лидерах JavaScript, Java, C#

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

Украинский профильный ресурс DOU.UA провел очередной ежегодный опрос о языках программирования, в рамках которого было собрано 7211 анкет (92% респондентов находятся в Украине). Из интересного - впервые с 2014 года у Python отрицательная динамика, наблюдается тенденция перехода с JavaScript на TypeScript, наиболее довольны пользователи Elixir, и наконец на графиках появился Rust.

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

Что изменилось? Прежде всего привлекает внимание рост TypeScipt: похоже, он со временем станет основным языком в экосистеме JavaScript. В этом году он впервые обошел С ++ по популярности.

Еще из интересного: впервые за несколько лет мы увидели снижение доли Python: возможно, использование Data Science дошло до точки насыщения.

Впервые с 2012 года выросла доля C#. Использование Java продолжает уменьшаться, хотя и не так активно, как раньше. В общем видно уменьшение доли JVM: доля Kotlin стабильна (хотя он и уступил место Ruby), использование Scala возобновилось после значительного снижения в 2019-м и сегодня, если сравнивать с 2018-м, даже немного возросло. Еще стоит отметить незначительный рост Dart.

Ниже приведена диаграмма с динамикой по актуальным языкам программирования по годам. Статистически значимыми являются изменения для C ++, TypeScript, Ruby, 1C, Scala, Pascal/Delphi, T-SQL. Напомним, что изменения статистически значимы, если с вероятностью 95% мы не можем получить результаты с изменениями и без, если будем равномерно выбирать две группы респондентов с одной популяции.

Области использования

В этом году мы впервые попросили респондентов указать сферу, в которой они работают. Результаты довольно интересны.

Видим, что примерно половина разработчиков - это бэкенд 52%, далее сегменты фронтенд 19% и мобильной разработки 8%, обработка массивов данных (туда относятся и Big Data и машинное обучение) - 6%. Desktop-программирование еще существует и занимает 4% от объема, системное программирование - 3% (сейчас небольшая доля) и Full-Stack разработка - примерно 1%.

Давайте рассмотрим, какие языки используют в зависимости от области применения

Мы видим, что основные языки бэкенда - это Java, C# и PHP. Доля JavaScript и TypeScript есть, но не такая большая и сравнима с долей Ruby и Go. В десятку главных языков бэкенда также входят Scala и С++.

Фактически весь фронтенд пишут на JavaScript и TypeScript. Использование других языков сугубо маргинальное. Доля TypeScript сравнительно меньше. Интересно будет посмотреть на это соотношение через год.

В мобильной разработке основные языки - Kotlin и Swift. А доля кроссплатформенных фреймворков меньше чем кажется. Кроме того, заметно, что Dart/Flutter сразу заняли большую нишу. А после React Native и Flutter есть еще место для C# Xamarin.

Среди обработки данных безоговорочным лидером является Python, далее - языки манипуляции данными T-SQL и PL-SQL. Особое место занимают Scala (здесь она более распространена, чем Java) и R.

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

Как мы уже указывали, результаты выбора программистов нельзя использовать для прогнозирования, но здесь интересно, что наконец на графиках появился Rust. Опять видим некоторый спад интереса к Python и тенденцию перехода с JavaScript на TypeScript.

Посмотрим на «индекс предпочтения» - это относительное количество разработчиков на языке X, которые для следующего проекта в своей сфере тоже выберут язык X.

Интересно, что здесь данные отличаются от опроса в Stack Overflow и нашего предыдущего опроса: Rust расположен заметно ниже. Наиболее довольны пользователи Elixir (возможно, это миграция Erlang-комьюнити), также обращает на себя внимание место Clojure.

Если посчитать отдельно индекс удовлетворения по сферам применения, то результаты почти совпадают.

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

Фаворитом, как и в предыдущие годы, стал Python. Его собираются изучать почти 18% из тех, кто будет осваивать новый язык. Но все-таки эта доля меньше, чем год назад. Ну а наибольший рост у TypeScript и Rust.

Как и в предыдущие годы, большинство респондентов (83%) хочет изучать новый язык самостоятельно, с помощью книг и документации, 4% будут обращаться к коллегам (впечатляющая интровертность), а 12% будут использовать традиционный подход - с помощью профессиональных преподавателей (курсов или индивидуальных занятий).

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

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

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

Tут можно сделать вывод, что, поскольку доля разработчиков с опытом в 1 год уменьшилась => в IT пришло меньше новичков, чем в прошлом году.

Но все равно в большинстве это специалисты с менее 5 лет опыта работы в ИТ.

Рассмотрим корреляцию между возрастом и языком программирования.

Здесь мы видим, что более молодая аудитория у Kotlin и JavaScript, а более старшая - ожидаемо у языков PL-SQL и Pascal/Delphi. Похожие данные показывает опыт разработчика в зависимости от языка:

Большинство разработчиков начинало программировать на Pascal и С++, но вскоре первыми языками разработчиков станут JavaScript и Python. Интересно, как это повлияет на культуру программирования ...

Данные и скрипты обработки можно найти на GitHub.

Также dou.ua недавно опубликовал опрос о зарплатах в Украине, где оказалось что средняя зарплата составляет $2500, перевод этой статьи вы можете прочитать тут.

Источник: https://habr.com/ru/post/543346/


Интересные статьи

Интересные статьи

Если вы — программист, то я полагаю, что вы, наверняка, знаете о существовании чрезвычайно компактной и нетребовательной к ресурсам СУБД SQLite, или даже пользовались ей. Эта система ...
Всем привет. Когда я искал информацию о журналировании (аудите событий) в Bitrix, на Хабре не было ни чего, в остальном рунете кое что было, но кто же там найдёт? Для пополнения базы знаний...
Два года назад я начал разработку еще одного свободного кодогенератора из OpenAPI Specification v3 в TypeScript (он доступен на Github). Изначально, я задался целью сделать эффективную генерацию ...
Привет, Хабр! представляю вашему вниманию перевод статьи How to create a 2D game with Python and the Arcade library автора Paul Vincent Craven Как создать 2D игру с Python и аркадной библиотекой...
Недавно, изучая причины некорректной работы своего домашнего проекта, я в очередной раз заметил за собой ошибку, которая часто повторяется из-за усталости. Суть ошибки сводится к тому, что, име...