История создания и развития языка - Prolog. Синтаксис языка Prolog
Разработка языка Prolog началась в 1970 году Аланом Кулмероэ и Филиппом Расселом. Их целью было создание языка, который мог бы делать логические заключения на основе заданного текста. Название Prolog является сокращением от "Programming in logic". Итак, Prolog, как язык, был разработан в Марселе в 1972 году. Предварительно на основе некоторого "принцип резолюции" Ковальского, сотрудника Эдинбургского университета, была создана модель, на основе которой и был разработан механизм логических выводов.
Первая реализация языка Prolog с использованием компилятора Никлауса Вирта "Algol-W" была закончена в 1972 году, а основы современного языка были заложены позднее, в 1973 г. Использование языка Prolog постепенно распространялось среди тех, кто занимался логическим программированием, в основном благодаря личным контактам, а не через коммерциализацию продукта. В настоящее время существует несколько различных, но довольно похожих между собой версий языка. Хотя стандарта языка Prolog не существует, однако версия, разработанная в Эдинбургском университете, стала наиболее широко используемым вариантом. Здесь надо отметить тот факт, что недостаток разработок эффективных приложений Prolog сдерживал его распространение вплоть до 1980 г.
Теория логического программирования со временем совершенствовалась. Существенный вклад в ее развитие внесла работа Р. Ковальского "Логика предикатов как язык программирования". В 1976 г. Ковальский и М. ван Эмден предложили два подхода к прочтению текстов логических программ -- процедурный и декларативный. Оба этих подхода стали активно использоваться при написании программ на языке Prolog.
Только в 1977 году Д. Уоррен и Ф. Перейра создают в университете Эдинбурга интерпретатор/компилятор языка Prolog для ЭВМ DEC-10, тем самым переведя методы логического программирования в практическую плоскость. Позднее в 1980 году К. Кларк и Ф. Маккейб в Великобритании разработали версию Prolog для персональных ЭВМ.
Интересный факт: в октябре 1981 года мир облетела новость о японском проекте создания ЭВМ пятого поколения. В основу методологии разработки программных средств было положено логическое программирование. Целью проекта декларировалось создание систем обработки информации, базирующихся на знаниях, а главным средством реализации должен был стать именно язык Prolog.
В это же время (начало 1980-х годов) появляется множество коммерческих реализаций Prolog практически для всех типов компьютеров. К наиболее известным можно отнести "CProlog", "Quintus Prolog", "Silogic Knowledge Workbench", "Prolog-2", "Arity Prolog", "Prolog-86", "Тurbo Prolog" и др. В данной статье мы опирались на версию языка "SWI-Prolog".
Существует мнение, что Prolog -- уже почти умерший язык, что он за небольшой промежуток времени (1970-1980-е годы) смог пройти весь жизненный цикл -- от начальных разработок, стремительного повышения интереса со стороны узких специалистов, затем стремительный взлет популярности, падение интереса и почти полное забвение. Мнение вызвано тем, что такая судьба -- обычное явление в мире информационных технологий, где новые, более совершенные, дидактически верные и теоретически более красивые языки программирования возникают каждый год и тихо умирают. Сторонники мнения аргументируют его тем, что структура Prolog-программ очень трудна для восприятия из-за того, что иногда невозможно визуально предугадать ход логического вывода -- единственный предикат-факт, запрятанный где-то в конце текста программы, может направить работу в совершенно непредсказуемое русло. В некотором они правы: трудность сопровождения Prolog-программ и трудность мышления на Prolog для рядовых программистов оказались непреодолимыми препятствиями для его широкого распространения. Да и, конечно, во времена разработки Prolog ждали от него большего, но потом оказалось, что сам по себе язык программирования помочь в решении серьезнейших задач, например, связанных с принятием компьютером решений (machine reasoning), не может.
Но все же язык Prolog используется и сегодня при решении целого класса достаточно специфических задач. Об этом -- в следующей части.
Похожие статьи
-
Введение - Prolog. Синтаксис языка Prolog
Prolog -- язык логического программирования. Логическое программирование, так же как и родственное ему направление -- функциональное программирование,...
-
Теоритическая часть, История и версии HTML - Создание сайта на языке HTML
История и версии HTML Первая версия HTML была разработана в 1989 году Тимом Бенерс-Ли для популярного в прошлом браузера Mosaic. Но в то время ни для...
-
Основные компоненты - История создания и развития автоматизированных информационных систем
Основными компонентами информационной технологии, используемой в экспертной системе, являются (рис. 3.2.2): интерфейс пользователя, база знаний,...
-
История создания и развития языка HTML - Язык HTML как средство создания информационных ресурсов
В 1989 году Тим Бернерс-Ли, сотрудник центра высоких технологий (CERN), предложил проект распределенной гипертекстовой системы под названием WWW (World...
-
Turbo Pascal, О Turbo Pascal, История - Работа с языком Турбо Паскаль
Среда разработки Turbo Pascal 7.1 (Рис 1) О Turbo Pascal Turbo Pascal (произносится "турбо паскаль") -- Интегрированная среда разработки программного...
-
Для программирования агентов могут применяться: универсальные языки (Java, C++ , Visual Basic и др.), языки представления знаний (SL, KIF), языки...
-
При создании или при классификации информационных систем неизбежно возникают проблемы, связанные с формальным - математическим и алгоритмическим...
-
Возрастающая сложность современных автоматизированных систем управления и повышение требовательности к ним обуславливает применение эффективных...
-
Жизненный цикл (ЖЦ) - одно из базовых понятий методологии проектирования ИС. Это непрерывный процесс, который начинается с момента принятия решения о...
-
Второй этап истории развития БД. - Технология создания и управления баз данных
Второй этап - эпоха персональных компьютеров Персональные компьютеры стремительно ворвались в нашу жизнь и буквально перевернули наше представление о...
-
История создания - Среда визуального моделирования Simulink
MATLAB - одна из старейших, тщательно проработанных и проверенных временем систем автоматизации математических расчетов, построенная на расширенном...
-
Основные стадии создания АИС - История создания и развития автоматизированных информационных систем
Структурная схема терминов Целью создания любой АИС является повышение эффективности производственно-хозяйственной деятельности предприятия за счет...
-
Структурная схема терминов Структуру АИС составляет совокупность отдельных ее частей, называемых подсистемами. АС состоит из двух подсистем:...
-
Экспертные системы (ЭС) - История создания и развития автоматизированных информационных систем
Наибольший прогресс среди компьютерных информационных систем отмечен в области разработки экспертных систем, основанных на использовании искусственного...
-
Классификация АИС по функциональному признаку Функциональный признак определяет назначение подсистемы, а также ее основные цели, задачи и функции....
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
Наиболее распространенная форма - ЭВМ. Раньше чаще использовались вычислительные центры (ВЦ). Вычислительный центр - организуется и специализируется на...
-
Средства передачи информации - История создания и развития автоматизированных информационных систем
Информация может передаваться: 1. На самом предприятии между различными его подразделениями сейчас используются локальные вычислительные сети (в одном...
-
Классификация массивов - История создания и развития автоматизированных информационных систем
Организационная подборка сведений о каком-либо объекте или процессе либо о ряде однородных объектов или процессов называется массивом информации. 1. По...
-
Структурная схема терминов - История создания и развития автоматизированных информационных систем
Под системой понимают любой объект, который одновременно рассматривается и как единое целое, и как объединенная в интересах достижения поставленных целей...
-
Принцип работы языка. Синтаксис Как и было сказано ранее основой для HTML-были приняты текстовые документы, содержащие в себе HTML5. Рассмотрим следующий...
-
История функционального программирования - Основные свойства функциональных языков программирования
Широко известно, что теоретические основы императивного программирования были заложены еще в 30-х годах XX века учеными Аланом Тьюрингом и Джоном фон...
-
Информационное обеспечение - совокупность единой системы классификации и кодирования информации, унифицированных систем документации, схем информационных...
-
Структурная схема терминов Под корпоративной информационной системой (КИС или EIS - Enterprise Information System) понимают информационную систему...
-
Структурная схема терминов Организация предпроектного обследования Предпроектная стадия включает комплекс научно-исследовательских работ и...
-
Функции человека в ИС - История создания и развития автоматизированных информационных систем
Любая информационная система подразумевает участие в ее работе людей. Среди персонала, имеющего отношение к информационным системам, выделяют такие...
-
Этапы развития АИС - История создания и развития автоматизированных информационных систем
История развития информационных систем и цели их использования на разных периодах представлены в табл. 1.1.2. Таблица 2. Изменение подхода к...
-
История развития персональных компьютеров - Устройство персонального компьютера
Как был изобретен компьютер. Слово "компьютер" означает "вычислитель", т. е. устройство для вычислений. Потребность в автоматизации обработки данных, в...
-
История возникновения функциональных языков - Функциональные языки программирования
Теоретические основы императивного программирования были заложены в 30-х годах Аланом Тьюрингом и Джоном фон Нейманом. Теория положенная в основу...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Разработать и создать аналог системной утилиты "Диспетчер задач" по дисциплине "Системное программирование". "Диспетчер задач" должен содержать следующие...
-
Структурная схема терминов Пути повышения эффективности АС и совершенствование обеспечивающей части АС Совершенствование вычислительной техники и АС...
-
Техническое обеспечение (ТО) - комплекс технических средств, предназначенных для работы информационной системы, а также соответствующая документация на...
-
История создания - Операционная система Windows
В те времена, когда работа над Windows только начиналась, считалось, что будущее принадлежит интегрированным средам. Фирма VisiCorp - создатель первой...
-
Второе поколение, Третье поколении - Развитие истории ЭВМ
Во Втором поколении компьютеров (1955-1964) вместо электронных ламп использовались транзисторы, а в качестве устройств памяти стали применяться магнитные...
-
Заключение, Список использованной литературы - Создание сайта на языке HTML
В этом проекте был рассмотрен язык разметки гипертекстовых документов HTML, его основные функции свойства и параметры. Сегодня применение HTML...
-
Гипертекст - Создание сайта на языке HTML
Уже достаточно много времени затрачено на то, чтобы научиться при помощи HTML и браузера выводить на экран тексты. Но это просто Тексты . Используя...
-
Правила формального описания синтаксиса языка программирования - Основы программирования
Под синтаксисом языка программирования понимают правила построения корректных конструкций данного языка. Синтаксис языка можно описать формально. Для...
-
История развития компьютерных технологий в России Компьютеры проникли во все сферы деятельности человека, начиная с начального образования и заканчивая...
-
История развития экспертных систем., Основные линии развития ЭС. - Экспертные системы
Основные линии развития ЭС. Наиболее известные ЭС, разработанные в 60-70-х годах, стали в своих областях уже классическими. По происхождению, предметным...
История создания и развития языка - Prolog. Синтаксис языка Prolog