Определение отношений в программе
Предисловие
Современное декларативное программирование, благодаря развитию вычислительной техники, все более активно используется в области разработки прикладного программного обеспечения. Декларативные языки программирования, логические и функциональные, наиболее близки к человеческому мышлению. Программы на декларативных языках, как правило, существенно короче, чем программы на императивных языках. В них описывается, что нужно сделать, на языке отношений в логических языках или на языке функций в функциональных, но не детализируется как. Знание основных принципов логического программирования и умение применять их в практике программирования полезно любому программисту. Поэтому курс предназначен для всех, кто изучает программирование.
Предметом курса является логическое программирование и его использование для разработки приложений.
В качестве предварительных знаний от читателя требуется владение только простейшими понятиями математической логики.
Используется одна из самых развитых реализаций языка Пролог – современная версия языка Visual Prolog. Система программирования Visual Prolog обладает всеми средствами для быстрой разработки современных приложений. Она предоставляет возможность сочетать логическое, функциональное и объектно-ориентированное программирование.
Язык Visual Prolog имеет простой и ясный синтаксис, близкий к математическому.
В настоящее время язык Visual Prolog используется для создания систем управления ресурсами больших комплексов (в частности, аэропортов), обработки текстов на естественном языке, экспертных систем, систем медицинской диагностики и многого другого.
Язык Visual Prolog является объектно-ориентированным, однако программирование в объектно-ориентированном стиле почти не используется в первой части курса. В основном применяются логический и функциональный стили программирования.
В первой части курса основное внимание уделяется основам языка, поэтому создаются только консольные приложения. Кроме этого, используется интерпретатор языка Пролог PIE, написанный на языке Visual Prolog. Приводится пример их совместного использования.