Що таке «мова програмування» і чому її так називають
Коли ми говоримо «мова програмування», маємо на увазі формалізований набір інструкцій, який дозволяє людині «спілкуватися» з комп’ютером. Назва підкреслює аналогію з природними мовами: є свій лексикон (ключові слова), синтаксис (правила побудови фраз) і семантика (значення команд). Програміст записує код, а комп’ютер, використовуючи компілятор або інтерпретатор, перетворює його на машинні операції.
Які уточнювальні запитання виникають найчастіше
- Чи всі «мови» є саме мовами програмування? Ні: HTML або CSS радше описують структуру та стиль, тому їх відносять до мов розмітки та стилізації.
- Чи достатньо назвати набір правил «мовою», аби він став мовою програмування? Потрібно, щоб ці правила дозволяли описувати алгоритми й керувати потоком виконання.
- Навіщо стільки різних мов? Кожна оптимізована під певні задачі: системне програмування, веб-розробку, математику, вбудовані пристрої тощо.
Класифікація мов програмування
Існують десятки способів класифікувати мови, але найпоширеніший — за рівнем «віддаленості» від апаратного забезпечення.
Низькорівневі
Ассемблер або C дають доступ до пам’яті й регістрів, що корисно для драйверів та операційних систем.
Високорівневі
Python, JavaScript або Ruby приховують деталі роботи з пам’яттю, дозволяючи зосередитися на логіці.
Парадигми
- Процедурні (C, Pascal) — код організовано у функції.
- Об’єктно-орієнтовані (Java, C++) — навколо класів і об’єктів.
- Функційні (Haskell, Elixir) — мінімум змінних станів, акцент на математичні функції.
Як з’являються назви мов
Назва може відсилати до прізвища автора (Pascal на честь Блеза Паскаля), філософії (Go закликає «йти й робити»), або бути абревіатурою (BASIC — Beginner’s All-purpose Symbolic Instruction Code). Важливо, аби назва запам’ятовувалась і передавала задум творців.
Приклади
- Python — названий не на честь змії, а через захоплення автора Монті Пайтоном; хотілось легкої, «сміливої» мови.
- Rust — символізує міцність та безпеку, як іржа, що міцно тримається металу, але при цьому розробники вкладають ідею «системного» захисту пам’яті.
Чим мова програмування відрізняється від скриптової та домен-специфічної
«Скриптова» — підклас мов, які переважно інтерпретуються (JavaScript, Bash) і часто виконують автоматизацію. «Домен-специфічна» (SQL, MATLAB) створена для вузької області й може не мати широких засобів керування пам’яттю чи потоками.
Як обрати мову програмування для навчання
- Мета. Для вебу — JavaScript, для аналізу даних — Python, для розробки мікроконтролерів — C.
- Спільнота та ресурси. Чим більша спільнота, тим легше знайти відповіді на питання.
- Поріг входу. Python чи Ruby мають читабельний синтаксис, C++ вимагає глибшого розуміння пам’яті.
Отже, «мова програмування» називається так, бо дає програмістам інструмент «говорити» з машиною. Її назва може походити з найрізноманітніших джерел, але в центрі завжди лежить можливість описувати алгоритми й досягати результату ефективніше, ніж раніше.
