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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук

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

Наприклад, веб-сторінки HTML — декларативні, оскільки вони описують, що містить сторінка та що має відображатись — заголовок, шрифт, текст, зображення — але не містить інструкцій як її слід відображати.

Ця парадигма мов програмування відмінна від імперативних мов програмування, таких як, наприклад, Фортран, C, і Java, які вимагають від розробника детального описання алгоритма отримання результатів.

Стисло кажучи, для отримання результатів імперативні програми явно конкретизують алгоритм, а декларативні — явно конкретизують мету і залишають реалізацію алгоритму на допоміжному програмному забезпеченні (наприклад, інструкція вибірки SQL конкретизує властивості даних, які слід отримати від бази даних, але не процес отримання цих даних).

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

Ці два визначення частково перекриваються. Зокрема, програмування обмеженнями і, меншою мірою, логічне програмування, зосереджуються на описі властивостей бажаного рішення (що), залишаючи невизначеним фактичний алгоритм, який необхідно використати для знаходження рішення (як). Проте, більшою мірою, мови логічного програмування, і, меншою, — мови обмеження, можуть описувати алгоритми і деталі реалізації, будучи таким чином не строго декларативними за першим визначенням.

Декларативні мови програмування[ред.ред. код]

Декларативні мови програмування - це мови програмування високого рівня[Джерело?], в яких програмістом не задається покроковий алгоритм рішення задачі ( "як" вирішити завдання), а деяким чином описується, "що" потрібно отримати як результат. Механізм обробки зіставлення за зразком декларативних тверджень вже реалізовано у пристрої мови.

Типовим прикладом таких мов є мови логічного програмування (мови, засновані на системі правил). У програмах на мовах логічного програмування відповідні дії виконуються тільки за наявності необхідного дозвільної умови.

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

Найпоширенішою мовою логічного програмування є мова Пролог.

Джерела інформації[ред.ред. код]

Див. також[ред.ред. код]