Русская Википедия:Декларативное программирование

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Переработать Шаблон:Нет ссылок

Шаблон:Парадигмы программирования Декларати́вное программи́рование — парадигма программирования, в которой задаётся спецификация решения задачи, то есть описывается ожидаемый результат, а не способ его получения. Противоположностью декларативного является императивное программирование, при котором на том или ином уровне детализации требуется описание последовательности шагов для решения задачи. В качестве примеров декларативных языков обычно приводят HTML и SQL.

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

К подвидам декларативного программирования также зачастую относят функциональное и логическое программирование. Несмотря на то, что программы на таких языках нередко содержат алгоритмические составляющие, архитектура в императивном понимании (как нечто отдельное от кодирования) в них также отсутствует: схема программы является непосредственно частью исполняемого кода[1].

На повышение уровня декларативности нацелено языково-ориентированное программирование.

«Чисто декларативные» компьютерные языки зачастую неполны по Тьюрингу — так как теоретически не всегда возможно порождение исполняемого кода по декларативному описанию. Это иногда приводит к спорам о корректности термина «декларативное программирование» (менее спорным является «декларативное описание решения» или, что то же самое, «декларативное описание задачи»).

Примечания

Шаблон:Примечания

Литература

Ссылки

Шаблон:Compu-prog-stub