Рейтинг мов програмування 2021: частка Python зменшується, а TypeScript обійшов С++

Так, уперше з 2014 року в Python негативна динаміка. Ще спостерігаємо тенденцію переходу з JavaScript на TypeScript, найбільш задоволені користувачі Elixir, і нарешті на карті з’явився Rust.

Представляємо результати щорічного опитування щодо мов програмування. Цього разу зібрали 7211 анкет, 92% респондентів перебувають в Україні. Поїхали.

Комерційне використання

Що змінилося? Насамперед привертає увагу зростання TypeScript: схоже, він із часом стане основною мовою в екосистемі JavaScript. Цього року він уперше обійшов С++ за популярністю.

Ще з цікавого: вперше за декілька років зниження частки Python: можливо, використання Data Science дійшло до точки насичення.

Уперше з 2012 року зросла частка C#. Використання Java продовжує зменшуватись, хоч і не так активно, як раніше. Загалом видно зменшення частки JVM: частка Kotlin стабільна (хоча він і поступився місцем Ruby), використання Scala відновилося після значного зниження у 2019-му і сьогодні, якщо порівнювати з 2018-м, навіть трохи зросло. Ще варто відмітити незначне зростання Dart.

Якою мовою пишете для роботи зараз


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

Якою мовою пишете для роботи зараз (2012–2021 рр.)

Сфери використання

Цього року ми вперше попросили респондентів вказати сферу, у якій вони працюють. Результати досить цікаві.

Бачимо, що приблизно половина розробників — це бекенд (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 є ще місце для С# 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% використовуватимуть традиційний підхід — з допомогою професійних викладачів (курсів або індивідуальних занять).

Додаткові мови

Тенденції ті самі: бачимо, що найбільше JavaScript, ну і вперше стало помітним реальне використання Rust.

Які мови ви використовуєте як додаткові


Щодо власних проєктів, то попередні тенденції повторюються. Можна звернути увагу на те, що зменшилася кількість проєктів на Rust.

Які мови ви використовуєте у своїх проєктах

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

МоваЧастка ринкуЗміниОсновнаДодатковаСвої проєктиІндекс вподобання
1JavaScript18
1201316815370.55
2Java14.7
9787377710.75
3C#14.3
9494796150.83
4Python12.1-180411417830.72
5PHP10.1
6724904690.7
6TypeScript6.922.545914215930.8
7C++4.6-1.33053923730.63
8Swift3.1
2041551530.85
9Ruby3.00.61981451540.72
10Kotlin2.6
1742361750.88
11Go2.0
1323132100.87
12Scala1.750.65116133750.80
13C1.1
792921750.37
141C1-0.76337380.47
15T-SQL
60793650.28
16Dart

55120690.72
17PL-SQL

34355260.32
18Pascal/Delphi

2342270.56
19R

2284330.5
20Apex

1864

Додаткові дані

Попри мови програмування, є сенс розглянути структуру розподілу досвіду в динаміці.

Досвід роботи програмістом з динамікою (2012–2021 рр.)

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

Але все одно у більшості спеціалістів менше як 5 років досвіду в ІТ.

Досвід роботи програмістом


Подивімося кореляцію між віком і мовою програмування.

Вік розробника залежно від мови

Тут ми бачимо, що наймолодша аудиторія у Kotlin та JavaScript, а найстарша — очікувано у PL-SQL та Pascal/Delphi.

Схожі дані показує досвід розробника залежно від мови:

Досвід розробника залежно від мови


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

Перша мова новачків


Якщо у вас є коментарі, пропозиції або зауваження до статті 👉 переходьте до обговорення або пишіть на vlada@dou.ua.

Дані та скрипти обробки можна знайти на GitHub
Інфографіка: Ігор Яновський


Результати попередніх опитувань: 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020.


Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити технічні статті та обговорення.

👍НравитсяПонравилось40
В избранноеВ избранном8
Подписаться на автора
LinkedIn