Stand with Ukraine

Stand with Ukraine logo
Quick donation

Як обрати мову програмування у 2022 році

ITOMYCH STUDIO
April 14, 2022
7 min to read
Як обрати мову програмування у 2022 році

Якщо відкрити Reddit чи Quora, найпопулярнішими виявляться теми на зразок «Що краще: Python чи PHP?» або «Яку мову вчити сьогодні, щоб бути потрібним через 10 років?» Можна робити цей вибір кількома способами: орієнтуватися на ринок праці, відштовхуватися від бізнес-завдань чи на власний смак.

Орієнтуйся на ринок праці

Видання DOU у лютому провело опитування серед українських розробників. На першому місці JavaScript, на другому місці — C# з позитивною динамікою вже другий рік поспіль, на третьому — Java. Зростає популярність TypeScript, аж на 10%. Негативна динаміка у Python, Ruby, C, Scala, Clojure. Все менше новачків обирають C++.

Першою мовою програмування все частіше обирають JavaScript. Серед додаткових мов беззаперечний лідер також JavaScript, далі — TypeScript.

А от особисті вподобання розробників трохи відрізняються від реальної картини. Найбільш комфортною мовою назвали Dart, Clojure, Kotlin, Rust, Swift, C#, Go та TypeScript. До речі, на Kotlin також найчастіше переходять з Java. Це може бути пов’язано з розробкою для Android.

Орієнтуйся на завдання бізнесу

Мови програмування — це інструменти. Не буває хороших і поганих мов програмування, але буває доцільно і недоцільно застосований інструмент. Є три великих кити у світі програмування: веброзробка, розробка додатків і програмування мікроконтролерів. Також є напрямки, де програмування допомагає, але не є основним завданням.

Мови й технології для веброзробки

Веб — це все, що ти бачиш в інтернеті: сайти, додатки в браузері й бекенд, який це забезпечує. Тут використовують:

  • Мову розмітки HTML — щоб структурувати сторінки в браузері.
  • Мову оформлення CSS — щоб сторінка або інтерфейс виглядали круто.
  • Мова препроцесорів CSS — коли треба багато CSS-коду, правил і стилів.
  • Мова скриптів JavaScript — щоб інтерфейс або додаток поводилися з боку клієнта, як треба.
  • Мова і форматування JS-фреймворків на зразок React або Angular — щоб малювати й програмувати поведінку складних вебдодатків.
  • Мови бекенда PHP, Python, Ruby (це найпопулярніші) — щоб забезпечувати логіку і роботу додатків і зберігати користувацькі дані.
  • Мови бекендових фреймворків, наприклад, Django та Rails.
  • Мови запитів у базу даних, найчастіше — MySQL.

Всі ці інструменти потрібні для різних завдань. Не можна сказати, що одні кращі за інші.

Як розв’язати суперечку «Що краще: Python чи PHP»? Відповідь: краще те, що ти використовуватимеш в роботі. Наприклад, якщо ти будеш працювати з сайтами на Wordpress, тобі потрібен PHP. Якщо ти працюватимеш з сервісами на Rails, треба знати мову Ryby. Якщо сайти твоїх клієнтів працюють на Django, тобі треба вивчати Python.

Але як зрозуміти, на чому працюватимуть твої клієнти та роботодавці? Ніяк. Сьогодні є вакансії на одні технології, завтра — на інші. Все швидко змінюється. Хороша новина у тому, що якщо ти знаєш якусь одну мову, то зможеш швидше вивчити й працювати на інших мовах.

Мови й технології для додатків

Додатки — це все, що виконується всередині комп’ютера чи телефона на рівні операційної системи й робить щось корисне для користувача. Наприклад, текстовий редактор, програма для презентацій, гра або калькулятор. Якщо ти самостійний розробник, то вибір мови програмування — це питання особистих вподобань і обраної операційної системи:

  • Мультиплатформні мови — Java, C++
  • Для екосистеми Apple — Swift
  • Для Windows та ігр на Unity — C#
  • Для Android — Kotlin
  • Для додатків, де потрібен доступ на низький рівень заліза — C.

Є й інші мови, але класично використовуються ці. За бажанням можна знайти щось швидше або більш спеціалізоване окремо під твоє завдання.

В мовах для додатків все так само як і в мовах для веба: не можна сказати, що одна мова краща за іншу. Все залежить від ситуації. Звісно, є C та C++, на яких можна написати майже все, що хочеш: від гри до додатка баз даних, але це вже занадто.

Головний плюс мов та технологій для додатків — стабільність. Кожна версія підтримується багато років, нове з’являється рідко, тому код, написаний багато років тому, мало відрізняється від написаного вчора. А ще у цих мов велика база довідників, форумів і готових рішень.

Мови програмування мікроконтролерів

Мікроконтролери — це схеми чи невеликі електронні плати, які фізично чимось управляють. Наприклад, мікроконтролер в акумуляторі слідкує за тим, щоб струм заряду відповідав номінальному і батарея не перегрівалася, а плати в станках керують двигунами, різаками та швидкістю руху деталі.

В програмуванні мікроконтролерів все залежить від конкретної моделі мікросхеми, якою можна управляти.

  • Для програмування станків часто використовують мову G-code, для різних станків потрібні різні команди.
  • Універсальна мова програмування будь-яких мікросхем — Assembler. На ній можна писати код майже для будь-якої плати, але треба досконало знати, як фізично влаштований кожен контролер.
  • Інколи мікроконтролери програмують на C, якщо дозволяє місткість вбудованої пам’яті.

Щоб писати програми для таких мікроконтролерів, потрібна висока кваліфікація, досвід і знання заліза. Зовсім новачку в цій сфері буде складно, тому краще почати з робототехніки.

Дата сайєнс, машинне навчання й аналітика

Python — улюблений інструмент для тих, хто займається аналітикою, машин-льорнінгом і даними. Для цього в Python багато готових інструментів, бібліотек, фреймворків, готових рішень і документації.

При цьому великі можливості криються в морі формул і скриптування, які використовуються в Excel або Google Sheets. Займатися даними й аналітикою можна, якщо добре володіти цим інструментом.

Найкраща мова для програміста — англійська

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