Що треба знати про парадигми програмування
Знайомство з новими парадигмами програмування може перевернути вашу точку зору на написання коду. Розповідаємо, що це таке.
Парадигма програмування - це набір ідей і понять, які визначають стиль написання програм, підхід до програмування. Існує безліч різних парадигм, але найчастіше використовуються імперативна і декларативна, практично протилежні одна одній.
Докладніше про всі тіпи програмування можна дізнатись на курсах програмування та веб-дизайну у Львові. ITEA - це авторизовані та авторські курси за різніми напрямками. Зробити заявку на навчання ви зможите на сайті https://lviv.itea.ua/.
Імперативна парадигма програмування
У імперативній (англ. Imperative - наказ) парадигмі розробник пише для комп'ютера інструкції, яким той слідує. Інструкції можуть бути наступні:
- склади два числа;
- якщо а, то зроби б, а інакше зроби в;
- відправ запит на сервер;
- відкрий файл;
- виведи рядок.
Тобто програміст каже, що потрібно зробити і в якому порядку, а комп'ютер виконує накази.
Відмітна риса імперативної парадигми - поняття стану комп'ютера або програми. Стан - це сукупність всіх даних в певний момент часу: змінних, масивів, лічильників і так далі.
До імперативної парадигми відносяться такі види програмування:
- процедурне;
- структурне;
- аспектно-орієнтоване;
- об'єктно-орієнтоване та інші.
Навіщо це потрібно
У вас моглог з'явитися цілком логічне запитання:
Навіщо використовувати імперативне програмування, якщо декларативне дозволяє писати набагато менше коду?
Є кілька причин.
По-перше, декларативне програмування - це обгортка для імперативного. Комп'ютер не може ось так просто зрозуміти, чого хоче програміст, тому для нього потрібно написати конкретні інструкції, що і в якому порядку робити.
Коли ви пишете запит в SQL, його виконання відбувається по заздалегідь описаним інструкцій. Тому нам потрібно імперативне програмування, щоб змусити працювати декларативне.
По-друге, декларативне програмування не підходить для задач, для вирішення яких важливо мати доступ до стану програми - наприклад, якщо потрібно перевірити, чи натиснута кнопка або поставлена галочка в чекбокс.
У декларативному програмуванні можна відстежити ні сам стан, ні його зміна, тому не вийде вказати, що має відбуватися у відповідь на дії користувача.
По-третє, імперативне програмування дає більше свободи, тому його частіше використовують в творчих областях, особливо там, де важливий порядок виконуваних дій.