Пролог (забони барноманависӣ)

Пролог (Prolog) — язык логического программирования, основанный на логике дизъюнктов Хорна, представляющей собой подмножество логики предикатов первого порядка.

Начало истории языка  относится к 70-м годам XX века. Будучи декларативным языком программирования, Пролог воспринимает в качестве программы некоторое описание задачи, и сам производит поиск решения, пользуясь механизмом бэктрекинга и унификацией.

 Развитие 
Интерес к Прологу поднимался и затихал несколько раз, энтузиазм сменялся жёстким неприятием. Наиболее высоко был поднят интерес к языку Пролог как к языку будущего во время разработок японской национальной программы компьютеры пятого поколения в 1980-х годах, когда разработчики надеялись, что с помощью Пролога можно будет сформулировать новые принципы, которые приведут к созданию компьютеров более высокого уровня интеллекта. Неправильная оценка этой перспективы явилась одной из причин неудачи проекта.

В настоящее время Пролог, несмотря на неоднократные пессимистические прогнозы, продолжает развиваться в разных странах и вбирает в себя новые технологии и концепции, а также парадигмы императивного программирования. В частности, одно из направлений развития языка (в том числе и в России) реализует концепцию интеллектуальных агентов.

 Межплатформенность 
Пролог реализован практически для всех известных операционных систем и платформ (в том числе для Java и .NET). В число операционных систем входят OS для мэйнфреймов, всё семейство Unix, Windows, OS для мобильных платформ.

 Архитектура 
Многие современные реализации языка имеют внутреннее расширение за счет ООП-архитектуры. Кроме проприетарных решений также существуют реализации Пролог на условиях open source. Важно, что для языка существует стандарт ISO принятый как ISO/IEC JTC1/SC22/WG17.

Базовым принципом языка является равнозначность представления программы и данных (декларативность), отчего утверждения языка одновременно являются и записями, подобными записям в базе данных, и правилами, несущими в себе способы их обработки. Сочетание этих качеств приводит к тому, что по мере работы системы Пролога знания (и данные и правила) накапливаются. Поэтому Пролог-системы считают естественной средой для накопления базы знаний.

 Россия и ВПК 
Очень интересно, что в России применялось одноименное ПО — «ПРОЛОГ» для реализации одного из самых амбициозных и технологически успешных проектов ВПК — «Буран». Также существуют весьма интересные, но спорные мнения и реализации по поводу применения Пролог в области задач искусственного интеллекта и экспертных систем.

 Критика 
Пролог критикуется в первую очередь за свою недостаточную гибкость, отчего решения на обычных языках программирования (типа C++, Java) в сочетании с базами данных оказываются более технологичными, чем аналогичные решения на Прологе.
Негибкость заключается в трудности изучения языка, более высоких требований к квалификации программиста на Прологе, трудности отладки программы, неразвитости технологии программирования, плохой контролируемости промежуточных результатов.

 Новая перспектива 
Перспектива развития всемирной Сети, известной как проект Веб 2.0 поддерживает особый интерес к семантике распределенных данных и их обработке декларативными методами. В связи с этим появились концепции языка OWL основанного на концепции First-Order Logic(FOL)  реализацию которой, в свою очередь, можно рассматривать как значительно более расширенную технику классического Prolog.

 Ссылки 
 Международный стандарт ISO для языка Пролог 
 Русский Пролог — Актор
 Visual Prolog 
 Болгарский Клубничный Пролог
 История языка Prolog 

 Искусственный интеллект: стагнация или новая перспектива 

 Литература 

Гурӯҳ:Саҳифаҳои мӯҳтоҷи тарҷума