Скільки мов використовують українські розробники та як їх комбінують. Аналітика
У лютому ми підготували традиційний рейтинг мов програмування. А тепер вирішили проаналізувати, як багато їх використовують розробники у роботі та як поєднують.
Найчастіше розробники програмують двома мовами — так вказали 44% опитаних фахівців. TypeScript і JavaScript найчастіше використовуються разом. С#/.NET, Java, PHP, Python, Ruby, Salesforce нерідко комбінують з TypeScript і JavaScript. Бекендери частіше за інших розробників можуть обійтися лише однією мовою у роботі.
Для аналізу ми використали відповіді 5959 українських розробників, які зараз в Україні або тимчасово живуть за кордоном, з анкети зимового зарплатного опитування DOU, яке проходило в грудні 2023 та січні 2024 років.
Як ми це зробили
Для підрахунку кількості мов, якими розробники користуються в роботі, використали відповіді на два запитання із зарплатного дослідження:
- Основна мова програмування (та, яку використовуєте найчастіше на поточній посаді).
- Інші мови програмування (не більше як три мови, які також використовуєте на поточній посаді. Якщо таких немає, оберіть варіант «Не використовую»).
Мови програмування, додані в дослідження:
- 1С
- ABAP
- APL
- Assembler
- C# / .NET
- C
- C++
- Clojure
- Dart
- Elixir
- Erlang
- Flex / Flash / AIR
- Go
- Groovy
- Haskell
- Java
- JavaScript
- Kotlin
- Objective-C
- Pascal/Delphi
- Perl
- PHP
- Python
- R
- Ruby
- Rust
- Salesforce Apex
- Scala
- Solidity
- Swift
- TypeScript
- X++ / D365
В аналізі ми не враховували SQL та інші мови запитів до баз даних.
Переважно розробники використовують дві мови програмування
Найчастіше розробники використовують у роботі дві мови програмування — так вказали 44% респондентів.
«Увійти в ІТ» можна і з однією мовою — 37% розробників, які почали працювати 2023 року, використовують лише одну мову в роботі. Проте що досвідченіший розробник, то більшою кількістю мов він користується. Тільки 21% SE з досвідом від 10 років можуть обійтися однією мовою, а 43% пишуть трьома або більше мовами.
Найбільшу кількість мов доводиться засвоювати Full Stack і Mobile-розробникам. 85% фулстеків уже на початку кар’єри користуються
Скільки мов використовують у роботі українські розробники
Mobile-розробники можуть почати працювати зі знанням однієї мови — 59% тих, хто працює менше ніж рік за цією спеціалізацією, пишуть лише однією. Проте доволі швидко виникає потреба засвоювати й інші. Серед розробників з досвідом до двох років уже 44% використовують одну мову, а з досвідом до п’яти років — 34%. Серед Mobile-розробників, які в індустрії понад дев’ять років, більш ніж половина використовує три й більше мови — це найвищий показник серед усіх спеціалізацій.
Майже третина Back-end фахівців у роботі обходиться лише однією мовою програмування. Навіть серед розробників з досвідом 10 і більше років 24% використовують лише одну мову — це найвищий показник серед усіх спеціалізацій.
Фронтендерам як досвідченим фахівцям, так і початківцям переважно потрібні дві мови програмування.
Бекендери частіше за інших можуть обійтися однією мовою в роботі
Back-end розробка
10% бекендерів користуються тільки Java, 8% — тільки C#/.NET, 5% — тільки Python. Як другу мову вони найчастіше обирають JavaScript: 7% комбінують її з РНР, по 4% — з Java, C#/.NET і TypeScript.
Набирає обертів поєднання Python і JavaScript: цими мовами пишуть 12% новачків, які прийшли в бекенд-розробку менше ніж рік тому, проти 3% серед всіх бекендерів. Також стає популярнішою комбінація JavaScript і TypeScript — її використовують 9% новачків проти 4% серед всіх бекенд-розробників.
Front-end розробка
Більшість фронтендерів використовують JavaScript і TypeScript — 76% пишуть лише цими двома мовами або однією з них. Близько половини фронтенд-розробників послуговуються і JavaScript, і TypeScript. 14% — лише JavaScript, 8% — лише TypeScript. Деякі фронтендери до цих мов додають РНР.
Як поєднують мови, розподіл за спеціалізацією та досвідом роботи
Список не вичерпний, на діаграмі показані найпопулярніші комбінації.
Full Stack розробка
Фулстеки теж полюбляють JavaScript і TypeScript (хоча й не так, як фронтендери). 16% Full Stack розробників використовують тільки ці дві мови, ще 7% — тільки JavaScript, 2% — тільки TypeScript. Інший поширений варіант — комбінація цих мов з C#/.NET: 11% Full Stack розробників обирають ці три мови, 6% — C#/.NET та JavaScript, 5% — C#/.NET і TypeScript. Дещо рідше їх поєднують з РНР: 8% пишуть на РНР і JavaScript, 5% на РНР, JavaScript і TypeScript.
Як і бекендери, фулстеки починають частіше використовувати поєднання JavaScript і TypeScript (26% серед новачків проти 16% серед всіх Full Stack розробників) і Python та JavaScript (5% серед новачків проти 2% серед всіх).
Mobile-розробка
Найпопулярніша комбінація мов серед фахівців з мобільної розробки — Kotlin і Java (17% кодять тільки цими двома мовами), ще 7% використовують тільки Kotlin. Тільки Swift обирають 12% Mobile-розробників, ще 7% — Swift разом з С та Objective-C (переважно розробники з досвідом від 10 років). 6% віддають перевагу тільки C#/.NET, а 5% — тільки Dart.
Популярність Kotlin і Dart в мобільній розробці зростає. 24% Mobile-розробників, які працюють менше ніж рік, пишуть тільки на Kotlin (проти 7% серед всіх Mobile-розробників). 10% новачків працюють тільки з Dart проти 5% серед всіх Mobile-розробників загалом.
Як найчастіше комбінують мови програмування (залежно від основної)
С#/.NET, Java, Python, Swift і Dart частіше за інші мови використовуються самостійно і рідше комбінуються з іншими мовами програмування.
TypeScript і JavaScript найчастіше йдуть разом. Лише невелика частина розробників може послуговуватися тільки JavaScript (28% тих, для кого це основна мова) або тільки TypeScript (16%).
С#/.NET, Java, PHP, Python, Ruby, Salesforce часто комбінують з TypeScript і JavaScript.
С і С++ нерідко використовують разом з Python і С#/.NET.
Go поєднують з Python, дещо рідше — з JavaScript. Python часто використовують ті, чия основна мова програмування Rust.
Майже половина розробників, у яких Kotlin — основна мова програмування, обирають Java. Користувачі Swift схильні працювати тільки з нею або поєднувати її з C та Objective-C. Dart використовують самостійно або комбінують з Kotlin, Swift і Java.
Комбінації мов залежно від основної мови
В категорії «Інші» об’єднані багато одиничних комбінацій, які не є поширеними та не показані на діаграмі.
Аналітика: Ірина Іпполітова