Парадигма програмування
методологія проєктування та реалізація програм з використанням ключових функцій та будівельних блоків мови програмування / З Вікіпедії, безкоштовно encyclopedia
Шановний Wikiwand AI, Давайте зробимо це простіше, відповівши на ключові запитання:
Чи можете ви надати найпопулярніші факти та статистику про Парадигма програмування?
Підсумуйте цю статтю для 10-річної дитини
Паради́гма програмува́ння є способом класифікації мов програмування на основі їхніх особливостей. Мови можна класифікувати за кількома парадигмами.
Деякі парадигми стосуються головним чином наслідків для моделі виконання мови, наприклад дозволу побічних ефектів або того, чи послідовність операцій визначається моделлю виконання. Інші парадигми в основному стосуються способу організації коду, наприклад, групування коду в одиниці разом із станом, який змінюється кодом. Інші мають відношення головним чином до стилю синтаксису та граматики.
Загальні парадигми програмування:
- імперативне програмування, у якому програміст наказує машині, як змінити свій стан,
- процедурне програмування, яке групує інструкції в процедури,
- об'єктно-орієнтоване програмування, яке групує інструкції з частиною стану, з якою вони працюють,
- декларативне програмування, у якому програміст оголошує властивості бажаного результату, але не те, як його обчислити
- функціональне програмування, у якому бажаний результат оголошується як значення серії застосувань функції,
- логічне програмування, в якому бажаний результат оголошується як відповідь на запитання про систему фактів і правил,
- оптимізація, в якій бажаний результат оголошується як розв’язок задачі оптимізації,
- реактивне програмування, у якому бажаний результат оголошується з потоками даних і розповсюдженням змін.
Символічні методи (наприклад, рефлексія), які дозволяють програмі посилатися на себе, також можна розглядати як парадигму програмування. Однак вони сумісні з основними парадигмами і тому не є самостійною парадигмою.
Наприклад, мови, які відповідають імперативній парадигмі, мають дві основні особливості:
- вони вказують порядок, у якому виконуються операції, з конструкціями, які явно контролюють цей порядок,
- вони допускають побічні ефекти, в яких стан можна змінити в один момент часу, в одній одиниці коду, а згодом прочитати в інший момент часу в іншій одиниці коду.
Зв'язок між одиницями коду не є явним. Тим часом в об’єктно-орієнтованому програмуванні код організовано в об’єкти, які містять стан, який змінюється лише кодом, який є частиною об’єкта. Більшість об'єктно-орієнтованих мов також є імперативними мовами. Мови, які відповідають декларативній парадигмі, не визначають порядок виконання операцій. Натомість вони надають ряд доступних операцій у системі разом із умовами, за яких кожну з них дозволено виконувати. Реалізація моделі виконання мови відстежує, які операції можна вільно виконувати, і самостійно вибирає порядок.
Детальніше в Порівняння багатопарадигмальних мов програмування.
Кожну окрему парадигму програмування характеризує наявність у ній методу та зв'язок із моделлю життєвого циклу. Спільним для різних парадигм програмування є загальні принципи проєктування програмного продукту. Користувач може вибирати ту або іншу парадигму програмування з позицій зручності застосування для задач у ПрО та виготовлення конкретного програмного продукту[1].