Декларативні [Непроцедурні] Мови
(Заг.) Син. – логічні мови. Клас мов програмування, програма на яких задає зв’язки й відносини між об’єктами й величинами і не визначає послідовність виконання дій.
(Скриптові мови) На відміну від процедурних (імперативних) мов програмування – декларативні не вказують «як щось зробити», а тільки те «що саме потрібно зробити». При цьому використовуються шаблони, що визначають умови виконання процесу й форму виводу, яку треба отримати. До декларативних скриптових мов належить, наприклад мова XSLT.
При використанні декларативної мови в програмі в явному вигляді лише вказується, які властивості повинен мати результат, але не говориться, яким способом він буде отриманий. Оскільки в основі декларативних мов закладені статичні, а не динамічні поняття (тобто визначається "що", а не "як"), такі поняття, як упорядкування й потік команд керування, не мають ніякого відношення до цих мов і в них немає ніяких операторів привласнення. Декларативні мови не прив’язані до класичної фон-нейманівської моделі обчислень, і в типовому випадку алгоритм досягнення необхідного результату може мати високий ступінь паралелізму. Технологічно декларативне (логічне) програмування розділяється на два основних напрямки: резолюційне (хорновське) програмування і екваціональне програмування. Резолюційне програмування побудоване на використанні мови PROLOG і його подальшим розвитком є об’єктно-орієнтоване резолюційне програмування, засноване н а м овах E SP і E qlog. Екваціональне програмування розділяється на функціональне (мови LISP, LOGO, APL, Nial, Krc) і продуційне (мови Рефал, SNOBOL, COMIT).