ВУЗ:
Составители:
Рубрика:
7
goal
% Читаем файл bear4.dbs в раздел facts при помощи
% встроенного предиката consult
consult("bear4.dbs",f1),
большой(X), темный(X),!,
% Если во внутренней БД существует существует объект X
% со свойствами "большой" и "темный", то печатаем
% имя этого объекта
% знак "!" – откат – есть указание Прологу прекратить про-
верки
% перейти на альтернативный вариант запроса
write(X);
% Иначе переформулируем вопрос
большой(X), коричневый(X),!,
write(X);
!.
Понимание того, что алгоритм – это аксиоматическое зада-
ние функции, а его выполнение – частный случай логического вы-
вода, и привело к возникновению логического программирования
и языка Пролог. Почти 30 лет прошло с момента его появления.
На мой взгляд, сегодня, с появлением Visual Prolog’a пятой версии
(компания PDC), Пролог – это самый технологичный язык про-
граммирования. Интерес
к Прологу вообще на Западе несколько
спал после неудачи проекта пятого поколения ЭВМ, однако кри-
зис доверия быстро миновал, и сегодня он более популярен, чем
прежде. В России же, если судить по программистской литературе
последних лет, Пролог никому не нужен. И этому есть свое объяс-
нение.
В Советском Союзе существовало множество
высокопро-
фессиональных коллективов, занимающихся разработкой програм-
много обеспечения для различных отраслей народного хозяйства.
Технология предполагала четкое разделение труда, при ко-
тором собственно программирование (кодирование) отдельных
небольших модулей производилось кодировщиками на основании
подробной "гостированной" технической документации, разрабо-
8
танной постановщиками задач под руководством главного конст-
руктора проекта. В таком случае рабочим языком мог быть ас-
семблер. Итоговый программный продукт, пройдя комплексную
отладку, получался и надежным, и быстрым. Пролог же был еще
во многом языком экзотическим и не позволял создавать про-
граммы, столь же оптимальные по затратам памяти и быстродей
-
ствию. К тому же автоматизировались задачи хорошо формализо-
ванные, при решении которых главное достоинство Пролога – ло-
гический вывод из системы аксиом – как бы затушевывалось вы-
числительной мощностью вечно молодого дедушки – Фортрана.
Подавляющее большинство кодировщиков не имело ника-
кого опыта в проектировании программных систем, и, фигурально
выражаясь, их любимым занятием было
изобретение наибыст-
рейших алгоритмов извлечения квадратного корня, которыми, как
писал Дж. Мартин, "у меня заполнена вся корзина для ненужных
бумаг" [3].
После распада Союза большинство организаций типа ПКБ
АСУ прекратило свое существование; сильные в единстве коллек-
тивы конструкторов, постановщиков и кодировщиков распались.
Наука потеряла в общественном сознании статус интеллектуаль-
ного эталона, и
в программистском сообществе стали задавать тон
кодировщики, вооруженные философией наибыстрейшего извле-
чения квадратного корня.
Пролог как язык концептульного программирования – неза-
менимое средство индивидуальной разработки программного про-
дукта, но для этого нужно концептуально мыслить.
Какой смысл я вкладываю в термин язык концептуального
программирования?
Прежде всего это средство решения при помощи компьюте-
ра широкого класса задач таким образом, чтобы максимально
большая часть нейронов мозга была занята самой задачей и след-
ствиями, которые могут быть получены в результате ее правиль-
ного решения, а не способом описания решения для компьютера.
(В конце концов, это одна из причин возникновения научного на-
правления «искусственный интеллект».) Пролог
прост, поскольку
использует небольшой набор базовых механизмов, включающих
сопоставление c образом и "бэктрекинг" (автоматический возврат
goal танной постановщиками задач под руководством главного конст-
% Читаем файл bear4.dbs в раздел facts при помощи руктора проекта. В таком случае рабочим языком мог быть ас-
% встроенного предиката consult семблер. Итоговый программный продукт, пройдя комплексную
consult("bear4.dbs",f1), отладку, получался и надежным, и быстрым. Пролог же был еще
большой(X), темный(X),!, во многом языком экзотическим и не позволял создавать про-
% Если во внутренней БД существует существует объект X граммы, столь же оптимальные по затратам памяти и быстродей-
% со свойствами "большой" и "темный", то печатаем ствию. К тому же автоматизировались задачи хорошо формализо-
% имя этого объекта ванные, при решении которых главное достоинство Пролога – ло-
% знак "!" – откат – есть указание Прологу прекратить про- гический вывод из системы аксиом – как бы затушевывалось вы-
верки числительной мощностью вечно молодого дедушки – Фортрана.
% перейти на альтернативный вариант запроса Подавляющее большинство кодировщиков не имело ника-
кого опыта в проектировании программных систем, и, фигурально
write(X); выражаясь, их любимым занятием было изобретение наибыст-
% Иначе переформулируем вопрос рейших алгоритмов извлечения квадратного корня, которыми, как
большой(X), коричневый(X),!, писал Дж. Мартин, "у меня заполнена вся корзина для ненужных
write(X); бумаг" [3].
!. После распада Союза большинство организаций типа ПКБ
АСУ прекратило свое существование; сильные в единстве коллек-
Понимание того, что алгоритм – это аксиоматическое зада- тивы конструкторов, постановщиков и кодировщиков распались.
ние функции, а его выполнение – частный случай логического вы- Наука потеряла в общественном сознании статус интеллектуаль-
вода, и привело к возникновению логического программирования ного эталона, и в программистском сообществе стали задавать тон
и языка Пролог. Почти 30 лет прошло с момента его появления. кодировщики, вооруженные философией наибыстрейшего извле-
На мой взгляд, сегодня, с появлением Visual Prolog’a пятой версии чения квадратного корня.
(компания PDC), Пролог – это самый технологичный язык про- Пролог как язык концептульного программирования – неза-
граммирования. Интерес к Прологу вообще на Западе несколько менимое средство индивидуальной разработки программного про-
спал после неудачи проекта пятого поколения ЭВМ, однако кри- дукта, но для этого нужно концептуально мыслить.
зис доверия быстро миновал, и сегодня он более популярен, чем Какой смысл я вкладываю в термин язык концептуального
прежде. В России же, если судить по программистской литературе программирования?
последних лет, Пролог никому не нужен. И этому есть свое объяс- Прежде всего это средство решения при помощи компьюте-
нение. ра широкого класса задач таким образом, чтобы максимально
В Советском Союзе существовало множество высокопро- большая часть нейронов мозга была занята самой задачей и след-
фессиональных коллективов, занимающихся разработкой програм- ствиями, которые могут быть получены в результате ее правиль-
много обеспечения для различных отраслей народного хозяйства. ного решения, а не способом описания решения для компьютера.
Технология предполагала четкое разделение труда, при ко- (В конце концов, это одна из причин возникновения научного на-
тором собственно программирование (кодирование) отдельных правления «искусственный интеллект».) Пролог прост, поскольку
небольших модулей производилось кодировщиками на основании использует небольшой набор базовых механизмов, включающих
подробной "гостированной" технической документации, разрабо- сопоставление c образом и "бэктрекинг" (автоматический возврат
7 8
Страницы
- « первая
- ‹ предыдущая
- …
- 2
- 3
- 4
- 5
- 6
- …
- следующая ›
- последняя »
