Яку мову варто навчати у 2022
Топ-10 мов програмування для вивчення у 2022 році
2021 показав, як непередбачено можуть розвиватися і змінюватися події, а разом з ними і наше життя. Але є речі, що залишаються незмінними. Це мови програмування. Ми вибрали 10 мов веб-програмування, які існують не одне десятиліття і не втрачають своєї актуальності.
Найпопулярніші мови програмування
- PythonРозробка на Python ведеться вже кілька десятиліть. Це мова програмування найвищого рівня. Він легкий у вивченні і є обов’язковою навичкою для розробників-початківців. У Python є безліч опцій для веб-розробки таких, як Django.Багато світових галузевих гігантів використовують Python для веб-сторінок, включаючи Amazon, Google, Facebook, Instagram, Spotify і Netflix.
- JavaScriptJS вважається нескладною та популярною мовою програмування. Він додає особливість веб-сайтів з відеоплеєрами, інтерактивними картами і т. д. Розробка JavaScript використовується і на стороні сервера, і на стороні клієнта. JS використовує програмування функціональною мовою, щоб забезпечити інтерактивну взаємодію з користувачем.
- JavaНі, це не те саме, що JavaScript. Java вважається однією з найважливіших мов програмування для вивчення, і досвідчені Java-розробники можуть отримувати шестизначні зарплати. YouTube використовує Java, як і багато веб-сайтів соціальних мереж.Пригадуєте гру Minecraft? Вона була створена з використанням Java.
- C++C++ – об’єктно-орієнтована мова програмування. Вона використовується в розробці ігор та веб-застосунків вищого рівня, таких як відеоігри Halo і Call of Duty. Велике різноманіття функцій колись зробило цю мову однією з найскладніших для освоєння і Java була більш популярною.Останнім часом важливою та переважною мовою програмування в індустрії веб-розробки стала саме C++.
- PHPPHP заробив свою репутацію завдяки своїй здатності виконувати практично будь-який проект. Його динамічна мова добре підходить для розробки серверних веб-програм. JavaScript з його можливостями розробки клієнтських програм став головним конкурентом PHP.PHP забезпечує потужні серверні можливості. Такі компанії, як Facebook та WordPress роблять розробки на PHP.
- GoGoogle активно використовує цю мову програмування в області веб-розробки. Go був розроблений по необхідності, коли Google усвідомив, що сучасні мови програмування не можуть реагувати на різноманітність обладнання та людських ресурсів, що постійно розширюється.
- SwiftSwift від Apple, як і Google Go, спеціально створений для веб-розробки програмного забезпечення. А в 2014 році з’явилася мова програмування для iOS, macOS, iPad і т.д. Він ідеально підходить для ОС Apple.Swift – це кросплатформенність, простота обслуговування коду, динамічна бібліотека, швидша розробка та багато іншого.
- RubyRuby не найпопулярніша фігура у веб-розробці. Хоча він надзвичайно поширений серед розробників-початківців. Особливо серед тих, для кого метою є швидка продуктивність. Перспективи працевлаштування із високими зарплатами роблять Ruby дуже привабливим.Це динамічна і проста у вивченні мова програмування. У нього відкритий, швидкий та безпечний вихідний код. Ruby є кросплатформною мовою. А фреймворк Ruby on Rails чудово підходить для серверної веб-розробки.Twitter, GitHub, Groupon та AirBnb працюють на Ruby.
- CМова C використовується з 70-х років минулого століття і досі не втрачає актуальності. Він є одним з найчастіше використовуваних мов програмування.Розробники вважають мову C придатною для написання програм та системного програмного забезпечення. Багато мов програмування, такі як Ruby, PHP та Python, написані на C.Чи має недоліки? Так. Його код не переноситься.
- SQLДля розробників SQL невід’ємна частина для отримання даних або деталей зі складних реляційних баз даних.SQL є основною моделлю, що лежить в основі багатьох платформ Big Data. Приблизно сотні тисяч компаній використовують SQL. Microsoft SQL – один із лідерів галузі.
Бажаєте освоїти мову програмування, записуйтесь на курси DevEducation.
Професія Frontend-розробник є лідером за кількістю запитів від роботодавців. Без цього фахівця не може обійтися жодна сучасна компанія, яка має сайт. Хочете стати Frontend-розробником та створювати сайти, інтернет-магазини, маркетплейси та інше? Записуйтесь на наш курс!
QA Automation Engineer – це спеціаліст, який забезпечує якість продукту та контролює всі етапи розробки з моменту появи ідеї до релізу. Він має компетенції і тестувальника та розробника. Він бере участь у всіх процесах розробки: від підготовки стандартів і вимог до розробки продукту. А також володіє ручним тестуванням та пише скрипти для автоматизації цього процесу, повідомляє про проблеми та контролює їх виправлення.
Project Manager — фахівець, без якого не може обійтись жоден IT-проєкт. Якщо ви хочете увійти до сфери IT-технологій, але не готові вивчати мови програмування, тоді професія Project Manager — те, що вам потрібно. Запишіться на курс Project Management та почніть свій шлях до IT!
Рейтинг мов програмування 2022-2023 років
Ну ось і настав Новий 2023 рік. І почати його я пропоную із огляду рейтингу мов програмування.
Давайте подивимося, які мови користуються найбільшою популярністю, а які ні. Також поговоримо про особливості кожної з лідируючих мов програмування і, звичайно ж, обговоримо найближчі їхні перспективи щодо того, наскільки легко буде програмісту заробити на своїх знаннях, і як довго ці мови програмування зможуть утримувати свої позиції. Адже це, мабуть, найголовніше, що цікавить більшість розробників-початківців.
Рейтинг мов програмування на GitHub
Давайте спочатку подивимося рейтинг мов програмування на GitHub за 2022 рік, який був опублікований у звіті Octoverse 10 листопада 2022 року.
Тут найпопулярнішою мовою програмування у 2022 році визначено JavaScript. На другому місці знаходиться Python. На третьому – Java. Далі йдуть Typescript та C#. На шостій позиції розташувався C++, який змістив на сьомий рядок PHP. На восьмому, дев'ятому ы десятому місці – відповідно Shell, C та Ruby.
Найбільш високі темпи зростання продемонстрував Hashicorp Configuration Language (HCL) - плюс 56% порівняно з 2021 роком. На 50,5% зросла популярність Rust, на 37,8% - TypeScript.
До Тор-10 найшвидше зростаючих мов програмування також увійшли Lua, Go, Shell, Makefile, C, Kotlin і Python.
Індекс мов програмування TIOBE
Тепер пропоную подивитися індекс TIOBE за 2022 рік і дізнатися яка мова програмування увійшла в 2023 рік, перебуваючи на першому місці цього рейтингу.
Як бачите, на першому місці знаходиться Python. Ця мова програмування вже кілька разів визнавалася мовою року за даними індексу TIOBE і ось зараз ми знову бачимо її на першому рядку рейтингу (вже третій рік поспіль).
На другому місці з незначним відставанням знаходиться мова програмування C.
На третьому місці опинилая мова C++, а Java опустилася на 4-й рядок. Це перший випадок з 2001 року, коли Java не потрапила до ТОП-3 мов програмування. Відповідно C++ вперше з моменту заснування індексу TIOBE зумів обійти Java.
Цікаво чи не так?
ТОП-10 мов програмування та динаміка їх позицій за роками
Давайте подивимося невелику таблицю, де можна проаналізувати динаміку позицій десяти кращих мов програмування починаючи з далекого 1987 року.
Аналізуючи тенденцію зростання та спаду популярності окремих мов програмування, дуже легко можна відсіяти ті, які є абсолютно непридатними для вивчення у 2023 році. Адже якщо вони з кожним роком втрачають свої позиції, то навряд чи найближчим часом зможуть щось змінити. Яскравий приклад Pascal, але про нього ми поговоримо трохи пізніше.
Зараз ми почнемо огляд цієї таблиці по порядках і проаналізуємо ТОП-5 мов програмування:
- Phyton. Це високорівнева мова програмування загального призначення. На ній можна розробляти будь-що: сайти і веб-додатки, відеоігри, софт для ПК, програми для мобільних пристроїв. Окремо потрібно виділити те, що Python активно використовують для машинного навчання і в цьому напрямі він дуже популярний. Починаючи з 2012 року, Пітон постійно піднімався в рейтингу. І ось уже 3 роки поспіль він є однією з кращих мов програмування в індексі TIOBE (в 2020 році і 2021 взагалі визнавався кращою мовою програмування року). Думаю, що в 2023 році та в найближчому майбутньому, Python не втратить своїх позицій і однозначно перебуватиме в трійці кращих мов програмування.
- C (Сі). Це високорівнева, компільована, статично типізована мова програмування загального призначення. Вона була винайдена для створення операційної системи Unix. Згодом на Сі була написана й операційна система Windows, а також ядро для macOS. Також мову C використовують під час створення авіакосмічних застосунків. Це дуже надійна мова програмування, яка протягом багатьох років займає лідируючі позиції в різних рейтингах.
- C++. Це компільована, статично типізована мова програмування загального призначення. Її використовують при створенні операційних систем, різноманітних прикладних програм, драйверів для пристроїв, застосунків для вбудованих систем, високопродуктивних серверів, а також комп'ютерних ігор. Починаючи з 1987 року, C++ завжди входив до ТОП-5 найкращих мов програмування. І ось зараз він серйозно вступив в боротьбу з Java за потрапляння в ТОП-3 рейтингу TIOBE.
- Java. Дивно, але в грудні 2022 року ця мова програмування вперше з 2001 року опустилася нижче 3-го рівня індексу TIOBE. Але завдяки своєму широкому застосуванню, я не думаю, що Java буде втрачати позиції в найближчі роки. Це строго типізована об'єктно-орієнтована мова програмування загального призначення. На ній створюють програми для Android (в цьому напрямку серйозну конкуренцію Java може скласти хіба що Kotlin), промислові, десктопні, банківські програми, програми для роботи з Big Data (великими обсягами інформації), наукові програми, корпоративний софт, веб-сервера , веб-програми та сервера додатків.
- C# (Сі шарп). Це об'єктно-орієнтована мова програмування загального призначення, яку розробили та підтримують інженери компанії Microsoft. Багато в чому завдяки підтримці саме такого гіганта технологічної індустрії C# досягла своєї популярності. Мова має Сі-подібний синтаксис і досить проста у вивченні так як увібрала в себе все найкраще від C++ і Java. На ній пишуть ігри, десктопні програми, веб-сервіси, нейромережі та навіть графіку для метавсесвітів. Враховуючи те, що підтримкою цієї мови займається Microsoft не важко зробити висновок, що вона тільки розвиватиметься і в найближчі кілька років навряд чи втратить свої позиції.
Ну а тепер давайте перейдемо до Pascal та наочно розглянемо приклад того, як визначити мову програмування, яку не потрібно вибирати для вивчення у 2023 році.
На самому початку, коли Pascal тільки з'явився, він був дуже популярним і завжди входив в ТОП-10 найкращих мов програмування. Пік популярності Pascal припав на 90-ті роки ХХ століття. Але вже на початку 2000-х років рейтинги цієї мови почав швидко падати.
Наразі Pascal не користується популярністю.
Деякі програмісти все ще створюють програми на Delphi (ця мова програмування є діалектом мови Object Pascal) і займає в індексі TIOBE 17-е місце. Але схоже, що ера Pascal і Delphi наближається до свого кінця, незважаючи на те, що на цих мовах програмування було написано дуже багато популярних програм.
Найкращі мови програмування по рокам
Ну і насамкінець, пропоную подивитися на найкращі мови програмування за версією TOBE за всі роки починаючи з 2003 і закінчуючи 2022 роком. Цей рейтинг формується на основі показника росту популярності протягом року. Як бачите, найкращою мовою програмування у 2022 році за версією TIOBE було визнано C++.
Примітка.
Всі ці рейтинги відносні. І якщо ви обираєте яку мову програмування вивчити цього року, то не варто спиратися лише на рейтинги та індекси. Я ще зроблю докладний огляд теми вибору мови програмування для вивчення. А тут зазначу лише одне. Якщо ви почнете вивчати одну з тих мов, які знаходяться в ТОП-5, то вже не помилитеся.
Сергій Немчинський: Яку мову програмування вибрати у 2022 році
Питання «Яку мову програмування вибрати» нам ставлять завжди, причому серед перших. Приплив новачків в IT не припиняється, він тільки посилюється, і всім цікаво, яку мову краще вивчати насамперед. Рік тому Сергій Немчинський вже детально відповідав на це запитання. Але ситуація на ринку змінюється, тому ми зробили новий огляд від Сергія Немчинського про те, яку мову програмування обрати у 2022 році.
Вибір професії
Дисклеймер. Ви повинні розуміти, що вибираєте не мову програмування, а професію: фронтендера, бекендера, фахівця з machine learning і так далі. Я раніше так говорив і все ще вірю в це. Але від того, який інструмент ви для себе оберете, залежить, наскільки вам буде подобатись ваша професія.
Поговоримо про вибір інструментів. Справа в тому, що якщо ви ніколи не займалися програмуванням, вам буде важко відразу вибрати професію. Звідки вам знати, що вам більше до вподоби, back end, front end, або взагалі бази даних. Для людини, яка ніколи не торкалася розробки, це все приблизно про одне.
А ось синтаксис мови – це те, що ви можете помацати та оцінити одразу. І знайомство з мовою допоможе зрозуміти, що вам подобається, а що ні. Можливо, вам одразу сподобається, і ви скажете:
– Вау, яка крута штука, я все хочу з нею зробити.
А може бути і навпаки, мова буде збивати вас з пантелику, вам буде незручно і неприємно, і вам не сподобається. Тобто саме мова допоможе вибрати професію, так що перш за все вибираємо мову.
Як вибрати мову програмування: рецепт від Немчинського
До мене часто на кар’єрні консультації приходять люди та кажуть:
– Я нічого не знаю, за що мені братися з самого початку?
У мене є фірмовий рецепт, записуйте.
Низькорівневі мови
Перш ніж говорити про вибір мови, я розповім вам про чотири з половиною основні групи мов. Нульова група — мови низького рівня, які пов’язані з доступом до заліза безпосередньо та прямим керуванням процесором, відеокартою та іншими пристроями. До них відношу С, С++, Rust.
Цей напрямок для тих людей, які засинають та прокидаються зі своїм улюбленим паяльником. Якщо вам нецікаво, куди побігли електрончики, із цими мовами вам буде некомфортно. Я сам із них починав, і саме так зі мною й було. Але якщо ви любитель поколупатися в залізі, вам і шукати більше не треба. Яку саме мову вибрати? За смаком. Я раджу почати з мови С. Цією мовою багато роботи, і вона ж вам допоможе скласти враження про низькорівневі мови.
Front End розробка
Перша група – мови для front end, до неї входить рівно одна мова, це JavaScript. Якщо вам у front end, сідаємо та вивчаємо JavaScript.
Мови динамічної типізації
Друга група – мови динамічної типізації, в першу чергу призначені для
написання невеликих сайтів. Найпоширеніші з них це шалено популярний PHP, хайповий Python та Ruby. Я з цього блоку рекомендую PHP: незважаючи на ваші розповіді, що ця мова померла, роботи нею багато.
Мови суворої типізації
Остання група – це мови суворої типізації, призначені для back end розробки. Сюди відносяться шалено популярні Java та C#. Що з них спробувати? На ваш смак.
Мови мобільної розробки
Окремо стоять мови мобільної розробки, і вибрати їх дуже просто. Якщо перед вами на столі лежить iPhone, вивчайте Swift. Якщо Android – Kotlin. А обирати кросплатформні мови типу Flutter я новачкам не раджу.
Що робити з групами мов
Що робити із цими групами? Вибираєте з них ті, у яких хочете спробувати. У кожній групі вибираєте одну мову. Вбиваєте у вашому улюбленому сайті – у гугл або в ютубі – щось на зразок «Курси програмування для початківців» плюс назва мови.
Вибираєте собі канал, спікера, скринкаст чи автора, які вам подобаються. І тиждень-два знайомитеся з цією мовою, вивчаєте її.
Якщо ви закохані в цю мову, і хочете займатися тільки нею, а решта вас не цікавлять, починайте поглиблене вивчення. Але якщо вам ніби подобається, але щось бентежить – рухайтеся далі і повторіть процедуру з ще однією мовою, тільки з іншої групи. Спробували front end — тепер спробуйте мови динамічної типізації.
Пробуйте так само, тиждень-два, залежить від вашого темпераменту. Так ви можете вибрати ту мову, яка вам подобається, і відштовхуватися вже від неї. Але таких щасливчиків серед вас буде десять відсотків. А решта сумніватимуться: начебто і ця мова хороша, і ця подобається, яку ж вибрати.
Якщо з першої спроби вибрати не вдалося
Ось мій рецепт. Візьміть аркуш паперу або відкрийте таблицю Excel. Впишіть туди всі мови, які встигли спробувати за цей час. І для кожної мови перераховуйте плюси та мінуси. Це має бути ваше суб’єктивне враження, а не факти з інтернету.
Припустимо, ви спробували C#. Пишете:
– Дуже легко встановлювати IDE.
Ви спробували Python. Пишете:
– Дуже легко написати першу програму.
Спробували Java. Пишете:
– Не сподобалося, складно та довго все налаштовувати.
На цьому етапі ви, швидше за все, визначитеся, яка мова вам подобається більше. Ви почнете підсвідомо підбирати плюси для тієї мови, яка вам сподобалася. Тільки не пишіть офіційні факти на кшталт “немає чіткої типізації” – це неважливо. Тільки те, що особисто вас зачепило.
Якщо ж і це не допомогло, берете свою близьку людину – дружину, маму-папу, дівчину, друга, і питаєте її:
- Скажи, яка мова мені більше підходить, ким ти мене бачиш?
І розповідаєте про мови, які спробували. Причому ваша близька людина може не мати жодного відношення до програмування, але вона має добре знати вас. До речі, поки ви розповідатимете про мови, можливо, ви й самі зрозумієте, яка мова вам сподобалася найбільше.
Ось ви й вибрали мову. Але якщо ви і на цьому етапі не вибрали – киньте монетку, зрештою. А після того як кинули, прислухайтеся до своїх відчуттів. Якщо ви зазнали радості від того, що монетка впала саме так, вітаю, ви зробили вибір. Якщо відчуєте роздратування чи прикрість – це теж підказка.
Які мови програмування актуальні у 2022 році
Тепер підемо за списком мов. У всіх списках популярності перші 10 позицій приблизно ті самі. Я, на свій погляд, відібрав мови, на які варто звернути увагу. Але це моє суб’єктивне уявлення, і якщо вам дуже подобається мова не зі списку — займіться нею, і не слухайте мене.
JavaScript
Перша мова – це JavaScript. Я не дуже її люблю, але ця мова входить до трійки найпопулярніших в усіх рейтингах. А вже в Україні це найпопулярніша мова. І це можна зрозуміти: JavaScript – це практично весь front end та трошки back end. Правда, в back end її зовсім небагато, це Node.js, але вона там є.
Всі спроби робити front end якимись іншими мовами настільки мізерні, що й говорити про них не будемо. Зате у front end разом із JavaScript мешкає її ідейна сестра-близнючка та її надбудова, це TypeScript. Мені вона подобається куди більше, я звик до мов із суворою типізацією, і мови з динамічною типізацією мені не до вподоби.
Якщо вам подобається JavaScript і ви йдете на фронтендера, хочу попередити вас про дві речі. По-перше, front end розробник — це людина, яка працює з версткою, хоче вона цього чи ні. Отже разом з основами JavaScript вивчіть HTML і CSS, тому що працювати з ними все одно доведеться. HTML непогано знати і бекендерам, навіть якщо вони пишуть не на JavaScript, а ось CSS для них зайвий.
По-друге, якийсь відсоток часу вам доведеться працювати у графічних пакетах. Вирівняти верстку, перефарбувати кнопочку, довести до розуму дизайн – для цього потрібні графічні пакети, більшість фронтендерів їх використовує. Звичайно, самих синіорних товаришів такого роду завданнями не навантажують, а ось від новачка, швидше за все, вимагатимуть, майте це на увазі.
Java
Другий номер нашої програми – звичайно, Java. Я не міг її пропустити та не поставити на друге місце. Java займає друге місце в рейтингу популярних мов України, і це найпопулярніша бекендова мова.
Java – мова суворої типізації, настільки жорстка, що якщо ваш код скомпілювався, він, швидше за все, спрацює. Мені це подобається, а людям, які звикли до мов з динамічною типізацією, – не дуже, адже в цих мовах можна трохи сподіватися на те, що воно саме спрацює. У Java це не пройде: крок убік – і все не компілюється.
Java – досить стара мова. І хоча вона молодша за ту же Python років на 10, складається враження, що вона стара як світ, і на ній дуже багато чого написано. І це правда. Наприклад, на Java написані всі банки світу, всі фінансові та страхові системи, більшість телекому. Java – це те, що знаходиться під капотом найстаріших і найдорожчих речей. Заміни не буде, швидше за все, ніколи, в цьому просто немає сенсу заміняти те, що працює.
У Java зараз досить все стабільно, хоча якийсь час тому вона вирувала оновленнями. Досить сказати, що зараз у ходу шістнадцята версія, але відсотків сімдесят програмістів працює на восьмий, і вона всіх влаштовує. Оновлення, що відбулися з моменту виходу цієї версії, настільки незначні, що переходити нема рації.
При цьому завдання Java дуже складні. Там величезні масиви коду та складні системи. Особливість Java, як то кажуть, у тому, що ви не зможете пояснити своїм рідним, чим ви займаєтеся на роботі. Зате ви постійно почуватиметеся спецназівцем, який може зробити те, що більше нікому не під силу.
Python
Наступна мова – це суперпопулярна зараз Python. Мова це досить стара, здається, вона з’явилася аж у 1989 році. Її раптова популярність має багато причин, але головна з них – Python – це зручний інструмент автоматизації для професій, не пов’язаних з розробкою. Виявилося, що на Python можна легко і швидко склепати якийсь скриптик. Тому ним користуються і DevOps інженери, і Automation QA, і фахівці з Machine Learning, і Data Science, – словом, все, що зараз автоматизується, робиться на Python.
Як ви зрозуміли, Python – мова гнучка і проста. Ось тому на ній так комфортно писати скрипти для автоматизації. На жаль, саме тому на ній можна писати дуже говняний код. В результаті розробляти на Python великі системи можна, але боляче. Ні, вони існують, але вибираючи Python як першу мову, будьте готові до роботи з невеликими програмами.
У 2022 році Python залишається на хайпі. Причому цей хайп не у замовників, вони в захваті від інших технологій. Python на хайпі у молодих розробників, у цей напрямок рушило дуже багато людей. Тому, перш ніж обирати цю мову, подумайте п’ять разів. Якщо ви зробили цей вибір, дивлячись на інших, одумайтеся та виберіть іншу. У Python сильно підвищився поріг входу за рахунок величезної кількості новачків. А як директор навчальної компанії можу сказати, що за випускниками Python до нас ніхто не звертався. Якщо ж ця мова вам дуже подобається, тоді вибирайте Python.
PHP
Наступна мова – незаслужено нелюбима PHP. Чомусь серед програмістів прийнято лаяти цю мову і називати її поганою. Мене радують новачки, які приходять і кажуть:
Є суворі цифри, які показують, що на PHP розробляється майже вдвічі більше проектів, ніж на Python. Плюс до того, PHP була створена в середині дев’яностих, і значить, вона молодша за Python років на 10. Ще плюс, приблизно вісімдесят відсотків всіх сайтів в інтернеті створено на PHP. Мабуть, не така вже й погана ця мова!
Мені синтаксис PHP подобається набагато більше, ніж у Python, хоч вона і більш багатослівнаий. Але це тому, що на PHP я працював, а на Python ні. А вам доведеться подумати самотужки.
Попит на PHP-розробників вищий, ніж на фахівців з Python. За завданнями, наявністю фреймворків, по можливості десь щось доучити PHP від Python не відстає. Python має безліч бібліотек для автоматизації речей, не пов’язаних з програмуванням – Data Science, розпізнавання образів, і так далі. Але якщо ви web-розробник, вам це особливо не потрібно, так що web-розробникам і на PHP відмінно.
C#
Наступна мова нашого огляду – Сі Шарп (C#). Потрібно віддати належне, компанія Microsoft усвідомила свої помилки і випустила .Net Core, з яким можна розкручувати додатки на Unix-like (читай Linux) системах. В результаті справи C# останні кілька років йдуть у гору.
Головна перевага C# перед Java – на ній можна писати не тільки великі корпоративні системи. Крім Enterprise soft, на C# можна писати програми під Windows, причому досить непогані. Дуже здорово, коли однією мовою можна і сайт написати, і додаток під нього, причому гарний і красивий. Говорять, ще програми з Linux можна робити, але я сам не пробував.
C# має і окрему нішу – розробку ігор під Unity. Але про геймдев я скажу кілька слів наприкінці. Ще у цієї мови хороший і приємний синтаксис, вона динамічно розвивається, швидше за Java.
Але є й недоліки, наприклад, її автори відмовляються від зворотної сумісності. Це зупиняє замовників: ми створимо проект, а Microsoft випустить оновлення, і що все переробляти? Таким чином, C# програє Java, в якій зворотна сумісність є завжди, і код, написаний на початку 2000-х, з великою ймовірністю працюватиме під сучасною версією. А в C# він, напевно, не запуститься.
C\C++
Мови C\C++ йдуть парою, тому що С++ є спадкоємцею і логічним продовженням мови С. Мова С процедурна, вона не вміє працювати з об’єктами. Зате вона дозволяє писати невеликі, але дуже потужні програми, які працюють безпосередньо із залізом.
Тому мова С використовується в embedded розробці, наприклад, в бортових комп’ютерах літаків, автомобілів та іншої техніки. Адже в наш час навіть холодильник має процесор, до якого потрібен софт. Саме цей софт і пишуть embedded розробники мовою С, і іноді С++.
До речі про розробку ігор
Мова С++ в розробці embedded використовується рідше, тому що програма виходить значно більшою. Але її активно використовують для навантажених додатків. А що у нас зараз найнавантаженіші додатки? Правильно, ігри. Тому безліч ігор пишеться на С + + із використанням відповідних движків, або енджинів.
Один з найпопулярніших енжинів зараз це Unreal, у нас по ньому є курс. А ще у нас є курс з Unity, це ще один движок, під нього пишуть ігри на C#. Це теж хороший двигун, але Unreal його випереджає, тому що звертається безпосередньо до заліза, і, отже, тягне більш навантажені ігри. Отже якщо ви мрієте працювати в гейм девелопменті, вибір мови очевидний: це С\С++.
Swift та Kotlin
Переходимо до мов мобільної розробки, і перша з них це Swift, а друга Kotlin. Як вибрати між ними? Дуже просто. Візьміть до рук свій телефон. Якщо у вас iPhone, вам потрібна Swift. Якщо телефон на Android – це Kotlin.
Я недолюблюю Apple, але ціную в них стабільність. Це не Google, яка змінює провідні мови десять разів. Якщо Apple сказала, що у них провідна мова Swift, то це буде Swift, і якщо ви хочете розробляти під Apple, вибору у вас немає. Вчіть Swift та пишіть код під MacOS та iOS.
Припускати, що компанія Apple кудись зникне, немає жодних підстав. Мову програмування вони міняти не мають наміру. І навіть якщо вони вирішать це зробити, нова мова буде розрахована на те, що нею користуватимуться розробники Swift. Але поки що перспектив зміни мови я не бачу. Swift став офіційною мовою Apple лише кілька років тому, це дуже сучасна мова, приємна в компонуванні. Швидше Apple розвиватиме її, чим замінить чимось іншим. Так що цей напрямок надійний, серйозний і надовго.
Друга мова мобільної розробки – Kotlin. На цю мову зробили ставку в Google, оголосивши, що вся Android-розробка у них тепер на Kotlin. Раніше я говорив, що вчити Kotlin як першу мову складно і не потрібно. Тепер це стало простіше, все ще важко, але можна.
Отже, якщо ви хочете займатися мобільною розробкою не під iOS, вчіть Kotlin. Правда, Google може будь-якої миті перейти на іншу мовою. Чи подбає компанія про розробників Kotlin? Не знаю. Хотілося б у це вірити.
Go
Цього року я додаю до огляду дві нові мови, які не згадував раніше. Перша це Go Lang. Ця мова добре зарекомендувала себе для роботи з мікросервісами. Пояснити розробнику-початківцю, як це працює, досить складно. Але якщо при розробці високорівневими мовами, тому ж PHP, потрібно щось зробити дуже швидко, зазвичай використовують Go Lang.
Ця мова зараз досить популярна, попит на розробників великий, так що можна успішно війти в цю нішу. Мова займає велике місце в екосистемі Google, на ньому написано вже багато коду, який потребує підтримки, так що попит на розробників залишиться. Навіть якщо Google відмовиться раптом від цієї мови – ви знаєте Google, вони вміють миттєво відмовлятися від найнесподіваніших речей – то попит залишиться. Так що якщо ви закохані в цю мову і не бажаєте знати нічого іншого, Go – ваш вибір.
Apex
Apex – це внутрішня мова найпопулярнішої у світі CRM-системи Salesforce. Постійні читачі зараз зітхнуть і скажуть:
По-перше, він не мій. По-друге, до нас постійно приходять із різних компаній і просять:
- У вас є курс з розробки на Salesforce, віддайте нам випускників, ми заберемо всіх.
Але вмовити людей вивчати цю мову дуже складно. Проте мова ця подібна до синтаксису з Джава, на ній можна робити різні речі, прості і складні. Робота практично гарантована: ця мова недавно з’явилася на ринку, і досвідчених розробників на Apex фактично немає. У розробників синіорів стаж 3-5 років, це вам не Java, де може бути і 15, і 20 років досвіду, як у мене.
Через те, що попит великий, а пропозиція невелика, розробників на Apex відривають із руками. Тому через ці двері можна успішно увійти до ІТ, при цьому маючи дуже невеликий рівень знань. Навіть якщо ви вмієте просто налаштовувати Salesforce, ви вже будете затребуваним фахівцем.
З іншого боку, якщо ви досвідчений фахівець, скажімо, Java, але не хочете йти в Enterpise лопатити газіліони коду, і мобільна розробка вам не дуже до душі, вам теж підійде цей варіант. Подумайте у цей бік.
Завжди ваш Сергій Немчинський
Яку мову програмування обрали ви? Поділіться в коментарях.
