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

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

Перейти к: навигация, поиск

Декларативное программирование — термин с двумя различными значениями.

Согласно первому определению, программа «декларативна», если она описывает каково́ нечто, а не как его создать. Например, веб-страницы на HTML декларативны, так как они описывают что должна содержать страница, а не как отображать страницу на экране. Этот подход отличается от языков императивного программирования, требующих от программиста указывать алгоритм для исполнения. В типично декларативном языке программирования XSLT, последовательность исполнения зависит, как правило, от входящего XML (в случае с использованием push-модели - "проталкивание"), в случае использования pull-модели (вытягивания), XSLT вырождается в частный случай функционального программирования и легко может быть заменена на аналогичный код в XQuery.

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

Программы на языках декларативного программирования легко поддаются методикам метапрограммирования - когда программа может генерироваться по её описанию. Например XSLT-программа может быть сгенерирована из файла XML (часто с помощью другой XSLT) - см. Schematron.

Это [декларативное] программирование подразумевает использование данных, а не написание кода для того, чтобы заставить приложение или компонент выполнить что-либо. Написание исходного кода иногда называют императивным программированием. [...] Очевидно, со временем декларативное программирование получит еще большее распространение. Примеры подобных технологий уже сейчас можно увидеть в Microsoft ASP.NET и Microsoft Windows Communication Foundation. Даже в Microsoft Windows Presentation Foundation программисты могут разрабатывать пользовательский интерфейс, объявляя (декларируя) его разметку и поведение, используя язык разметки XAML."}}

Примечания

Личные инструменты

Served in 0.052 secs.