ВУЗ:
Составители:
Рубрика:
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
- …
- следующая ›
- последняя »