Рейтинг мов програмування 2024. TypeScript в трійці лідерів, Python зʼявляється у всіх нішах, а Rust — улюблена мова
Найбільш популярна все ще JavaScript, TypeScript — мова року за темпом зростання. Python — на третьому місці. Rust — улюблена, але досі малопоширена.
Представляємо результати щорічного опитування про мови програмування. Цього разу зібрали 8250 анкет від ІТ-спеціалістів з України. Ну що ж, погляньмо на головні інсайти.
Комерційне використання
TypeScript продовжує підкорювати світ веброзробки — уперше ця мова увійшла в трійку лідерів і майже зрівнялася з JavaScript. Python зʼявляється у всіх можливих нішах.
Якою мовою пишете для роботи зараз
Охоплення Java і C# продовжує знижуватись, а ось популярність PHP залишається майже на тому ж рівні, що й торік. З того, що, можливо, вказує на зміни у структурі ринку: зросли частки C++ і C (з’явилося більше embedded-проєктів?), зменшилася частка Apex і збільшилась 1С, хоча, здавалось би, має бути навпаки. Це, найімовірніше, означає, що темпи переходу з 1С на щось інше менші, ніж темпи збільшення частки працівників українських компаній у нашій вибірці (і відповідно скорочення частки іноземних компаній) через війну.
Ще помітне зростання ABAP (мови для ERP-платформи SAP) і X++ (мова для ERP-платформи Microsoft Dynamic).
Якою мовою пишете для роботи зараз (2019–2023 рр.)
Сфери використання
Якщо подивитися, як змінювалися сфери за останні три роки, помітно, що перехід на Full Stack не відбувається, навіть навпаки. Також стабільно набирає обертів DevOps. Можливо, розподіл мов за сферами скаже нам більше.
У якій сфері здебільшого працюєте
У Back-end в лідерах Java, C# і PHP, а TypeScript лише на п’ятому місці після Python, хоча якщо почитати інтернет, то здається, що Node Stack є більш поширеним. Але ніт. Нарешті у статистиці стало помітне використання Rust як мови бекенду (хоча здається, оскільки вона була створена для системного програмування, використовувати ручне управління пам’яті на бекенді було б обтяжливо). Ще цікаво, що частки Kotlin і Scala на бекенді зараз менші, ніж Rust.
У фронтенді бачимо, що JavaScript поступово переходить в TypeScript.
Найпопулярніші мови, розподіл за сферами
Щодо Full Stack, то, можливо, різні люди розуміють його по-різному або розробляють здебільшого бекенд з певними особливостями. Якщо розглянути, які бібліотеки використовують у Full Stack з C#, щоб зрозуміти технологію, то найпопулярнішою комбінацією виявиться .NET (Core) та Angular.js. Отже, бекенд пишуть переважно на C# (тому вона обрана як основна мова програмування), а в Angular використовують TypeScript.
В аналізі даних мало що змінилося, хіба що стало помітним використання SAS. Як і торік, основною мовою є Python, за нею — мови баз даних. Фреймворки на Scala стали застосовувати менше. Можливо, це пов’язано з тим, що Spark розвиває передусім Python API. Ще можна глянути, яких мов тут немає. З одного боку, використовують С++, але не представлена Rust. Чомусь тенденція «перепишімо все на Rust» тут не проявляється. Також не послуговуються Julia.
Платформи
Зрозуміло, що більша частина розробки — це Web, але Desktop займає більш ніж 10%. У мобільному світі iOS та Android майже на одному рівні, а сегмент інших мобільних платформ порівняно невеликий.
Для яких платформ розробляєте
Подивимось на розподіл мов за платформами у тих частинах, де можна помітити щось нове. На Desktop найпопулярніша мова — C#, далі Python і С++. Взагалі Python як одна з основних мов розробки є майже у будь-якій спеціалізації. А ось технології типу Electron з TypeScript/JavaScript поширені менше.
В Mobile Cross-Plaftorm маємо ту ж тенденцію переходу з JavaScript на TypeScript та помітне збільшення частки Dart. Цікаво, що у сегментах нативної Mobile-розробки як на Android, так і на iOS «нативної мови» стає з часом менше.
Розподіл мов за платформами
Особисті вподобання
Як і торік, загалом ситуація схожа. В бекенді суттєво відрізняються від актуального користування цифри для Python та Rust: ними хочуть програмувати. З PHP та Ruby ситуація протилежна. І з’явилася Clojure.
У Full Stack помітно, що TypeScript випереджає JavaScript, C# на другому місці. Ще цікаво: на
В Embeded несподіванка. Виявилося, що найбільш популярна мова тут Python, а вже за нею — C++ та C. З Rust та сама ситуація, що й торік: активного поширення ще немає, але люди кажуть, що обрали б цю мову для наступного проєкту. Можливо, це показник того, що сфера дуже консервативна.
Яку б мову ви обрали для наступного проєкту за спеціалізаціями
Цього року улюбленою мовою виявилася Rust, далі йдуть Swift, Go та Kotlin.
Індекс вподобання
Додаткові мови та опенсорс
Розподіл схожий, як в основних мовах, але тут на першому місці мови роботи з базами даних.
Які мови ви використовуєте як додаткові
У розрізі сфер на бекенді часто стали використовувати Solidity як одну з додаткових мов (одразу за Rust). Ба більше, Solidity є у першій 20 навіть для Front-end, Full Stack та Mobile. Нагадаємо, що Solidity — це мова для розробки smart contracts під Etherium-сумісні блокчейни.
Додаткові мови, розподіл за сферами
Приблизно 30% учасників мають власні проєкти. Розподіл мов приблизно такий самий, як і в основних проєктах, єдине — більша частка Python і JavaScript.
Які мови використовуєте в опенсорс-проєктах
Вивчення нових мов
Близько 32% респондентів планують опанувати нову мову протягом наступного року. Які це мови? Поза конкуренцією Python, Go і Rust.
Які мови ви збираєтеся вивчати наступного року
Як саме будуть вчити — більшість самостійно або з допомогою колег. 7,8% передусім звернуться до професійних викладачів, ще близько 20% оберуть варіант професійного навчання, а ось 72% це навіть не розглядають.
Першою мовою для багатьох розробників ще є Pascal. Але якщо звернути увагу на новачків, які тільки приходять в індустрію, то картинка стає кардинально інша. Першою мовою вони обирають або JavaScript, або все частіше Python.
Перша мова
Якщо звернути увагу на досвід розробників, які користуються найпопулярнішими п’ятьма мовами, видно, що найбільше тих, хто має близько трьох років досвіду, а аудиторія PHP трохи старша (там пік — п’ять років).
Досвід у програмуванні
Фінальна таблиця
Якщо у вас є коментарі, пропозиції або зауваження до статті