Pull to refresh

Comments 41

UFO just landed and posted this here
Большое спасибо за статью и за ссылки. До этого пролог был для меня сферическим конем=)
Пролог многие учат (в ВУЗах), но повернуть мозг так, чтобы мыслить на прологе, получается далеко не у всех… Перед сессией, как летней так и зимней, студенты уже лет пять стучаться с просьбами помочь =) (в бытность студентом написал, а потом и выложил несколько программ на Amzi прологе, по которым меня и находят).
Кстати да, заметил, что те, кто не особенно разбирался во всяких C++ и Object Pascal, в Prolog'е начинают ориентироваться быстрее, потому что остальным поменять способ мышления довольно сложно. Еще LISP интересный язык, тоже заставляет по другому думать :)
На меня большее впечатление произвел именно пролог. Из Lisp-а запомнилось толко обилие скобочек =)
Ага со скобочками там кашмар просто, если не форматировать код нормально, то нереально что-то разобрать :) Но сам язык очень интересный, позволяет работать как с обычными функциями и переменными, так и с предикатами, списками, картежами или как там это все в прологе называется %)

Вот, например, программа для нахождения чисел Фибоначчи:
(defun fib (n) (cond ((> n 2) (+ (fib (- n 1)) (fib (- n 2)))) (t 1)))
это не самый удачный алгоритм по нахождению чисел фибоначччи
UFO just landed and posted this here
жаль что когда дело обычно доходит до пролога — уже поздно :)
ААА!!! Нет, хватит! Я его уже сдал! Не надо!
UFO just landed and posted this here
К разным задачам свой подход.
то что это не похоже на привычные императивные языки, еще ничего не значит.
Тоже учил этот язык в универе. Но то на чем сейчас пишут, намного, от того что изучал, отличается. Есть очень подходящи задачки для него.
супер!!! :)
* ждет когда докачается w32pl573.exe
Судя по посту — это интересно. А то мы в универе так и не добрались до практики.
Спасибо, интересно, чем-то prolog напомнил Coq (хотя правильнее наоборот), тоже очень интересный язык.
Спасибо, недавно вот сдал предмет, в котором использовали пролог, однако интерес остался.
В свое время в университете Prolog и Lisp меня заинтересовали именно тем, что заставляли думать по другому. А это иногда чрезвычайно полезно — посмотреть на задачу с другого угла :) Надо будет вытащить свой старый курсовик и попытаться вспомнить, что как же там это все работает. Вот так вот иногда оглянуться назад — это способ развития. Спасибо автору за напоминание и содержательную статью.
Последняя задачка на любом императивном языке с библиотекой регулярных выражений решается за секунды и 4-5 строчек кода ;) Что там по ссылке делал Java-программист целых 3 часа для меня загадка. Даже если поставить условие не использовать никаких библиотек, и то задачу можно было решить не менее быстро и элегантно, чем на прологе.

Какой-то неудачный пример, имхо.
там (в первоисточнике) есть и такое решение, но регулярные выражения там вроде были запрещены
вы не сказали о реализации пролога, которую используете. хотя, судя по виду, и сработавших примерах — SWI?

сне бы хотелось узнать о возможностях swi по взаимодействию с другими ЯП, к примеру — java, или любой язык, на котором удобно создавать gui
www.swi-prolog.org/packages/jpl/
;) JPL is a library using the SWI-Prolog foreign interface and the Java jni interface providing a bidirectional interface between Java and Prolog that can be used to embed Prolog in Java as well as for embedding Java in Prolog. In both setups it provides a reentrant bidirectional interface.
то, что надо и очень во время, спасибо.
Все примеры приведены для диалеката SWI-Prolog (по моему скромному мнению — самый вменяемый и близкий к классическому прологу). Правда, рекомендую использовать версию 5.7.3 (бета) доступную здесь prolog.cs.vu.nl/download/devel/bin/ (файл w32pl573.exe для win) или 5.6.X. В версии 5.7.4 присутствует небольшая ошибка при работе в пролог-консоли (https://mailbox.iai.uni-bonn.de/mailman/public/swi-prolog/2009/000904.html).
Пролог это жесть. То есть он интересный, но сложный для понимания после ООП или обычного Перла :)

Сейчас как-раз сажусь писать курсовик на этот язык — нужно составить БД «Телефонная книжка» с возможностью удаления, добавления, поиска по БД и сохранение/загрузка с диска. В принципе всё понятно как, буду если что сюда за мануалом заходить ))
насколько я помню вместе с swi идет отличный мануал. и еще? — help/? — help(something)
Вы говорите про «среду разработки»? У нас это Arity Prolog, еще досовский. Может есть что-то более симпатичное? ))
хотя ваш Arity не видел, но думаю не стоит использовать этот проприетарный продукт.
самый «симпатичный» во всех отношениях SWI-prolog. уверен, что в вашем универе за SWI вас никто не осудит :).
забавно, у вас — курсовик — у меня аналогичное задание было для одной лабораторной из восьми :)

swi пролог используйте — он очень хорош — открытые исходники, есть средства для вызова его из Си
приятнее, чем DOS окно )) А передключения между режимом ввода программ и выполнения есть?
там по умолчанию ты в режиме выполнения, переключаешься в режим редактирования командой edit. (об этом есть в самом конце статьи)
там еще и подсветка синтаксиса есть)
хохо! если понравицца — буду писать курсовик на нём. Демо можно принести на защиту на своём ноуте (ЕЕЕ выручит в учебе) ))
Пролог, в некоторых вопросах и задачах будет гораздо лучше, других языков, особенно в задачах, связанных с искусственным интеллектом.
Статья очень неплохая по содержанию, но как-то все размыто написано и ИМХО для введения в него человека, который не был знаком с этим языком, сложновато.
Есть очень хорошая книжка по этому языку, которую написал Братко.
Братко — да, хорошая книга, о ней упоминал в первой статье
Это только мне одному непонятно, почему в каких-то строках есть вопрос с минусом, а в каких-то нет?
В практически любом прологе есть REPL который обычно начинается на ?-
=)
Sign up to leave a comment.

Articles