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

Рейтинг мов програмування 2019: JavaScript майже зрівнялася з Java, популярність Go знижується

$
0
0

[Дані та скрипти обробки можна знайти на GitHub]

В опитуванні взяли участь 9167 респондентів, 90% із них живуть в Україні.

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

Основні гравці не змінилися — частка JavaScript та Java майже однакова. З іншого боку, до рейтингу знову увійшла Erlang, що «зникла з радару» в 2017-му, —цього року більш ніж 20 розробників вказали цю мову як основну. І серед відносно нових мов — Apex, що вже з’являлася у нашому опитуванні в 2012 році.

На якій мові пишете для роботи зараз

Якщо дивитися на динаміку останніх років, то Kotlin, з огляду на свій вибуховий ріст, витисне Java у розробці під Android. Також продожує зростати TypeScript.

JavaScript-екосистема поступово переймає першість у JVM. Частка C# лишається майже незмінною.

Прогнозовано росте використання Python.

На якій мові пишете для роботи зараз (2012-2019 рр.)

Сірим виділені ті мови, частка яких не змінилася в порівнянні з 2018 роком


Несподіванки:

  • Збільшилася частка проектів на C++ та C — це можна пов’язати з подальшим поширенням інтернету речей.
  • Почала скорочуватися частка Go проектів, тут мені важко щось сказати про можливі причини.
  • Почала знижуватися частка Swift (що статистично незначно) — звідси ми можемо зробити висновок, що можливо, розробка на iOS скорочується загалом. Чи є це флуктуацією в рамках похибки або довготривалою тенденцією — подивимося наступного року.

Частка Scala залишилася приблизно такою ж (трохи збільшилася).

Ще можна помітити «ренесанс» використання Groovy та Erlang — видно, що мови, на яких є якась критична кількість проектів, можуть існувати десятиріччями.

Особисті вподобання

Тут ми бачимо в принципі таку ж ситуацію, як і з розподілом мов. Порівняно з останніми роками можна відзначити зростання інтересу до Rust, а також подальше зниження зацікавленності в Scala. Якщо подивитися на список нових фіч Java 10 та Java 11, то можна зрозуміти, що у Java вводять аналоги Scala-конструкцій.

Якби ви зараз починали комерційний проект і у вас була свобода вибору

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

Як ми бачимо, найвищий рівень вподобання у Swift (це підтверджує нашу гіпотезу про зменшення обсягу iOS розробки), далі — Go та Kotlin. Наступна сходинка — теж Scala та C#. Досить несподівана поява Erlang. Ще слід зазначити, що незважаючи на вибуховий зріст, індекс вподобання TypeScript та JavaScript не найвищий. Це означає, що в принципі можлива поява наступної мови в екосистемі фронтенду.

Вивчення нових мов

Більша частина респондентів (64%) точно планує вивчити якусь нову мову програмування наступного року. Погляньмо на рейтинг найцікавіших мов для вивчення в динаміці за 3 роки:

Які мови ви збираєтеся вивчати наступного року

Python уже третій рік є найпопулярнішим для вивчення, далі — JavaScript та Go. Ще ми бачимо різкий сплеск інтересу до Dart: Google позиціонує його як мову, оптимізовану для розробки клієнтів на Android та Web.

Як і в попередні роки, більшість респондентів (55%) збираються вивчати нову мову самостійно, за допомогою книг та документації. На онлайн-курси орієнтуються близько 31%, а 7% збираються використовувати офлайн-підхід з локальними викладачами.

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

Тут особливих новин немає: як і раніше, JavaScript є основною додатковою мовою. Едине — Python як другу мову почали використовувати частіше, ніж Shell.

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

Свої проекти

Тенденції в цілому більш-менш ті ж самі, що і в інших блоках. Привертає увагу підвищення рівня C++ та C.

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

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

МоваЧастка ринкуЗміниОсновнаДодатковаСвої проектиІндекс вподобання
1Java17.82-2.81497116116720.71
2JavaScript17.681485439627480.64
3C#13.97117371213670.80
4PHP11.94-1,1100383111590.61
5Python10.88+1.1914150714900.73
6C++6.53+1.65497618660.63
7TypeScript2.9+0.924513267080.67
8Swift2.892431763010.91
9Ruby2.872411932350.67
10Kotlin2.38+1.452003023520.88
11Go1.821533804430.90
12C1.561314723200.36
13Scala1.551301521540.815
131C0.97655610.34
14Pascal/Delphi541591680.35
15T-SQL538982160.26
16PL-SQL42490730.19
17Objective-C-0.4342861010.11
18Groovy27103450.11
19Erlang233190.7
20Apex222110.45
21R20135690.3
22Perl1478330.21
23Clojure1016340.7
24Rust8661160.75
25ActionScript81250.12

Зміни частки ринку вказані тільки в тому випадку, коли вони є статистично значимими (тобто з імовірністю 95% неможливо отримати таку різницю всередині однієї гаусовської популяції).

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

Зараз медіанний вік JavaScript, C++ та Kotlin розробника — 26 років (бачимо, що C++ розробка сильно помолодшала). Для Java, C#, Python, Go — 27 років, Scala — 29, а Pascal/Delphi та PL/SQL — 36 та 37 відповідно.

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

Щодо залежності досвіду і мов, то масові мови, як правило, використовують люди з медіанним трирічним досвідом (видно, це результат росту галузі). Виділяються Scala розробники, для яких Scala — це, як правило, не перша мова. Ситуація з Pascal/Delphi та PL/SQL досить очевидна.

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

Розробники з досвідом 1 рік — найбільша група (що зрозуміло, беручи до уваги швидкий ріст галузі).

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

Нижче мозаїка, де за однією координатою — досвід роботи з мовою, а за іншою — досвід роботи програмістом.

Як і минулого року, видно, що через 4 роки половина розробників змінюють мову програмування. Близько чверті розробників працюють на тій самій мові протягом 10-тироків.

Чи є різниця у використанні мов програмування у нас та в діаспорі?

В діаспорі більше Java, а Scala більше в чотири рази. Тобто або Scala проекти не йдуть в Україну, або Scala розробники частіше переїжджають в інші країни. До речі, наочною є ситуація з конференцією ScalaUA, де я є одним з організаторів. Як правило, доповіді надсилають з діаспори та Scala community інших країн, а в Києві бігати за потенціальними доповідачами набагато важче, хоча здавалося би має бути навпаки :(

Цікава ситуація з C та JavaScript, які набагато більше використовують українські розробники.

Розподіл за віком

Нижче перша мова програмування для розробників з досвідом менше року, протягом останніх 5-тироків.


Тут ми бачимо, що скоро найбільш поширеною першою мовою стане С++.


До речі, результати цього опитування публікуємо українською, тому що так захотіло трохи більше 50% читачів рейтингу мов 2018.


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

Інфографіка: Ігор Яновський


Viewing all articles
Browse latest Browse all 8115

Trending Articles