На Хабрі вийшов свіжий суб'єктивний топ мов програмування. Редакція Make it in Ukraine традиційно не лише переклала його, але й адаптувала та додала декілька потужних рейтингів. Буде корисно для тих з вас, хто обирає для себе першу або нову мову програмування. Або для тих, хто просто любить моніторити такі топи.
Звичайно, майже в усіх цих таких рейтингів (Якщо це не StackOverFlow) є спільна проблема: вони найбільше корисні компаніям, які займаються курсами для тих, хто хоче «увійти до IT». Розрекламувати модні мови, залучити на свої курси тисячі новачків, отримати оплату за курси.
Результат — купа новачків, які обрали мову за критерієм «це точно топ, біжи вивчай, вривайся в IT». Вони заплатили гроші, пройшли курси й… не можуть місяцями отримати не те що роботу, а й навіть інтернатуру. Тому що перед ними в черзі стоять ще декілька «поколінь» тих, хто вивчав такі ж курси. Хтось не сидів без діла, копав далі та набирав досвід, а хтось так і застряг на рівні навіть не Junior, а, скажімо, pre-entry. Особливо, якщо їм викладали цей курс неякісно.
Так було з JavaScript, так відбувається зараз з Python (особливе безумство коїться щодо зв'язку Python+ML).
Отже, зав'язуємо з ліричними відступами, суть ви зрозуміли: до будь-якого подібного топу треба відноситись філософським чином. А обирати мову, виходячи з єдиної логіки:
Все! І ніякі топи будуть не потрібні. Тим більше термін «популярність» щодо мов програмування не означає ідеальність, правильність, та технічна досконалість. Як рахується популярність у цих топах — вказано нижче.
Отже, давайте все ж пробіжимось по рейтингах, якщо вже почали. 🙂
TIOBE рахує рейтинг за згадками на вебсторінках. У рейтингу враховується кількість фахівців, що працюють з мовою, а також різні курси, де мови можна вивчити. На листопад 2021 року рейтинг має такий вигляд:
У жовтні 2021 року вперше за всю історію Python вирвався у лідери TIOBE.
Поріг входу в цю мову нижчий, ніж у Java і C, і з кожним роком Python програмістів все більше. Популярність мови зростає так швидко, що у TIOBE вибухнула справжня драма. Перше місце Python забезпечене падінням C, яке п'ять років тому вже опускалося на 10,5% — з 17 до 6,5.
Python залишається № 1, але його позиції не зовсім впевнені: 11,77% у Python проти 10,72% у Java та С. Ймовірно, у 2022 році, в якому прогнозують падіння Java та С, лідерство Python стане незаперечним.
Друга причина зльоту Python — стрімкий розвиток Data Science.
R, необхідний дата сайентистам, утримує позиції, але конкурувати з Python не може. Julia здатна на це теоретично, але мова ще занадто слабка. Інші перспективні мови розташувалися так: Lua у TIOBE обганяє Dart, Ada, Rust і навіть Kotlin. На 12 місці основного рейтингу розташувався Groovy.
Створений Github рейтинг PyPL орієнтується не на сторінки, а на запити <language tutorial>. PyPL вважає TIOBE «відстаючим індикатором» (ще б пак, — прим.ред Make it in Ukraine), про що прямо заявляє на своїй головній сторінці. І ось що ми бачимо за індексом від Github у листопаді 2021 року:
Перша десятка рейтингу – це 85% пошукових запитів на GitHub. Абсолютні лідери топу — Python і Java: вони дуже відірвалися від найближчих конкурентів.
Першу позицію PyPL Python зайняв уже у 2018 році. Що не дивно: уявіть кількість пошукових запитів через 6 років після AlexNet, коли люди відчули весь потенціал AI. Популярність Java тоді поступово падала, зате Python зростав величезними темпами.
2021-го Python зменшив оберти — останні пів року мова знаходиться на одній позначці. При цьому 30% усіх запитів tutorial 2021 — це запити про Python, а значить, мову активно вивчають. Хоча вибухового зростання популярності можна не чекати — із хвилями ±2% розвиваються класичні мови.
У другій десятці боротьба куди гостріша. Минулого року більша ставка була на Go, Rust, Ada, Lua та Dart – у них були всі шанси на розвиток. І сьогодні Go утримує позиції, а Rust зміцнюється, хоч його несподівано випередив VBA. Розвиваючи ком'юніті, активно ростуть Ada та Dart. З топ 20 вийшов лише Lua. Дуже перспективними залишаються Go, Ada та Dart, до них можна додати ABAP та Groovy:
SO — це, по суті, величезна база питань та відповідей з мов та технологій програмування: десятки гігабайт тексту та повсякденний робочий інструмент тисяч програмістів: для автоматичного пошуку відповіді на порталі розроблено безліч інструментів.
Мови по місцях розставляли лише користувачі SO, але рейтинг дуже показовий. Респондентів запитували, яку мову чи інструмент вони використовували у роботі чи вивчали за останній рік, а також плани на наступний рік (ось за такий розумний підхід редакція Make it in Ukraine й полюбляє аналітику SO та цей сервіс взагалі). Тому бачимо ситуацію і можемо зробити невеликий прогноз.
Вже дев'ятий рік поспіль перше місце — у JavaScript, хоча по TIOBE і PyPL до лідерства йому далеко. JS знають, вивчають чи використовують у роботі 68,62% респондентів.
До десятки увійшли Node.js та TypeScript, які розширюють JS. Після масових мов HTML та CSS йде Python з 48,24% – у нього третє місце. Наприкінці топ 10 — C# і C++. Мова Сі плаває близько 12-го місця.
Побачивши статистику «любові та ненависті» до мов, автори тексту згадали цитату творця С++:
«Є лише два типи мов: ті, на які скаржаться, та ті, які ніхто не використовує»
Блакитна смуга на графіку — улюблена мова, фіолетова — та, що лякає. Сума двох смуг — це всі респонденти, які явно вказали на ставлення до мови:
На вершині — мови, які загалом набрали менш як 1%. Clojure, Elixir, Julia, Dart, Swift, Go — всі вони вищі за Java, C і C++.
Мову C ненавидить 60,44% користувачів SO. Але це швидше підтверджує, що програмісти працюють з мовою або хоча б знають про неї.
З лідерів у загальному рейтингу хороші показники тільки у Python – це 67,83%, С# – 61,96% та JavaScript – 61,51%.
Прим. Make it in Ukraine: радимо придивитись до Rust, який займає першу сходинку у якості Loved. Адже у блокчейн та крипто індустрії досвідчених Rust розробників цінують дуже високо, і їх дуже не вистачає. Проєкти Solana та Polkadot — найяскравіші тому приклади.
Ось дуже показова стаття на цю тему:
Demand For Rust Has Skyrocketed: What Role Has Polkadot Played?
Цікавим є питання про мови, які користувачі SO збираються вивчати у 2022 році. Python тут — лідер із відчутним відривом. І це ще раз підтверджує не лише популярність, а й велику зацікавленість розробників до мови.
У 2021 році, за версією JetBrains, найпопулярніша мова у Росії та СНД — JavaScript. Одним з основних або основним його назвали 28% програмістів; за останній рік із ним працювали 56% учасників опитування. JavaScript популярніший серед програмістів України та Білорусі: основним його вказали 38 та 36% опитаних відповідно. Щодо мов, які хотіли б вивчити у 2022 році — Go, TypeScript, Kotlin, Rust та Python.
Тепер додаткові (але не менш корисні) рейтинги від нас (та дещо з коментарів під оригінальним постом).
Є дуже гарна анімована інфографіка щодо зміни популярності мов за останнє десятиліття. Ось її фінальний кадр:
Крім того, на початку року редакція складає докладний звіт щодо мов. До наступного звіту ще пара місяців, тож поки можете оцінити минулий.
Уперше з 2014 року в Python негативна динаміка. Ще спостерігається тенденція переходу з JavaScript на TypeScript, найбільш задоволені користувачі Elixir, і нарешті на карті з’явився Rust.
Щодо особистих вподобань: нарешті на карті з’явився Rust. Знову бачимо деякий спад інтересу до Python і тенденцію переходу з JavaScript на TypeScript.
IEEE — це досить поважна міжнародна некомерційна асоціація технічних спеціалістів. У них є агрегований рейтинг IEEE Spectrum, який можна перефільтрувати за іншими частковими критеріями: трендові, за open source проєктами, часто згадувані у вакансіях, за типами мов, та інші.
100% рейтинг у Python, друге місце у Java, третє — у C. Загалом перша десятка — взагалі без сюрпризів.
Нам завжди цікаво оцінити, які мови найбільш цікавлять роботодавців та найчастіше використовуються в описах вимог до кандидатів. Тут список майже аналогічний.
Якщо засумували від одних і тих же мов в усіх хайпових і не хайпових топах, ось вам дещо нестандартне.
Rosetta Code — це цікавий та самобутній сайт для розробників. Він часто генерує рейтинг популярності мов за критеріями відсотку виконання завдань на цьому сервісі за допомогою конкретних мов.
Всього у переліку 800+ мов (ось вам і розмаїття підвезли). І топ тут дуже відрізняється від тих, до яких ви звикли. Але таке підійде не для всіх. Можете подивитись на них як на домашнє завдання.
Python є абсолютним лідером і зміцнює позиції.
C, C++ та C#, попри поважний вік, надовго в топі. Класичний C поступається Python, але про падіння популярності не йдеться.
Автори радять звернути увагу на TypeScript, Go, Ada, Dart, ABAP. Їхня спільнота тільки формується, але популярність зростає. Незабаром вони можуть завоювати відчутну частку ринку. Придивіться до SQL, який вимагають у багатьох фірм.
Java і JavaScript трохи здали позиції, але, як і раніше, сильні та популярні.
Редакція Make it in Ukraine традиційно наголошує на тому, що крипто проєкти наразі набагато цікавіші та перспективніші, ніж більшість проєктів у класичному IT. Там не лише скамові монети, біржі та дурнуваті Play-to-earn іграшки, які усіх дратують (та які відлякують розробників від крипто індустрії).
Сьогодні розвивається багато дійсно перспективних Web3 проєктів та DAO — від потужних блокчейнів, мостів та інфраструктурних сервісів до децентралізованих соціальних мереж й систем децентралізованої ідентифікації.
А такі проєкти, крім класичних мов (наприклад, усі різновиди та наслідувачі C) та того ж Rust, потребують знання Solidity (топ по запитах у крипті) та іноді Viper.
Зображення – з Habr.com (за мотивами Squid Game TV Show)
Отримуйте першими корисні статті, вичерпні гайди щодо пошуку віддаленої роботи в цифровому світі, розвитку Soft Skills та Hard Skills, цікаві та мотивуючі інтерв'ю, огляди трендів, лайфхаки.