08.07.2022

Що таке мова програмування, і які вони бувають?

Сергій Немчинський
3 хвилин перегляду
Що таке мова програмування, і які вони бувають?

У школі у вас напевно був урок інформатики, на якому вам розповідалися дуже «актуальну» інформацію, як користуватися комп’ютером, як вважати прості функції в Excel і ще намагалися вкласти вам в голову знання про якійсь мові програмуванні. Коли я вчився, це був Basic, зараз це Pascal, можливо щось ще. Тому, ймовірно, ви хоч трохи уявляєте собі, що таке мова програмування. По факту це набір команд, який пояснює комп’ютера, що робити.

Чому мов програмування так багато?

Мов величезна кількість. Чому так вийшло? Уявіть, колись для роботи з комп’ютерами був розроблений одну мову. На ньому написали якісь програми, які працювали і виконували те, що від них вимагається. Технології розвиваються і з’являється новий, більш зручний і простий мову програмування. Але не можна просто взяти і замінити старий мову новим, тому що на старому вже написано багато програм і переписати їх все – дуже складна і витратна завдання.

Отже, мов дуже багато і їх весь час намагаються якось класифікувати. Так з’являються різні групи: об’єктно-орієнтовані мови, процедурні, функціональні та ін. Майже всі сучасні мови дозволяють змішувати різні парадигми і т.д. Але не буду забивати вам цим голову. Просто запам’ятайте: будь-яка мова програмування – це спосіб перетворити завдання, яку потрібно зробити, в команди, зрозумілі комп’ютеру.

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

Чому не можна автоматично переписати програми з однієї мови на іншу?

З’являється логічне запитання – чому не можна автоматично замінити старий мову на новий? На жаль, автоматично це зробити не виходить. Є спроби зробити транслятори з одного на іншу мову, але в більшості випадків це не виходить і все одно частина (іноді вагому частину) змін потрібно робити вручну. Це аналогічно машинного перекладу однієї мови на іншу (наприклад, гугл Транслейт). Як би сенс вловити можна, але часто це дуже криво.

Так ось, мови програмування різні не тому що один розробник хотів назвати команду одним словом, а другий розробник – іншим. Вони різні, так як в них закладені різні концепції, вони вимагають від програміста досконалого різного підходу. Аналогічно як і людські мови. Ну, давайте для порівняння візьмемо російську та українську мови. У російській мові є слово «лист», яке може означати як лист дерева, так і аркуш паперу. В українському це два різних слова: «лист» і «аркуш». Перекладач повинен розуміти, в якому контексті використовується слово, а машина не завжди може розібратися з такими тонкощами. Точно також і в мовах програмування потрібно розуміти, в якому контексті використовується команда. Тому автоматичного перекладу з однієї мови на іншу не виходить.

Ну, а якщо ви хочете вивчити хоча б одну мову, то welcome до нас в Foxminded.