#java #ооп #логика #prolog
Долго кодил на java, страстно любя его ООП. Потом увидел prolog и тогда влюбился в логическое программирования. Теперь захотелось совместить. Вопрос: есть ли такой замечательный язык, который бы совмещал обе парадигмы? P. S. По моему такой язык был бы идеален для написания стратегий/мини искусственного интеллекта. P. P. S. только что осознал, что хочу Джаву, в которую впихнули логическое. Хотя это в идеале.
Ответы
Ответ 1
Почему бы не использовать реализации Prolog под Java? GNU Prolog Java JIProlog TuprologОтвет 2
@danpetruk, а Вам не кажется, что смешивать все (пусть некоторые) парадигмы в одном языке это не очень хорошо. Если взглянуть на историю программирования, то можно обнаружить, что языки, в которые пытались впихнуть всего и побольше были (например PL/I, algol-68, да та же ada), но по сути умерли. Вероятно наиболее правильным решением является написание разных частей системы (большой программы) на разных языках. Каждую часть на том, который лучше для этого подходит. Причем, можно попытаться построить реально распределенную систему. А самый сложный тут вопрос -- это связь между ними.Ответ 3
Если тебе хочется смешивать, есть такая тенденция как DSL. Ты можешь написать нужный функционал(чистый) специально под себя, вот Parus - отлично для констрейнтов, например, но можно сделать что угодно под себя. Небольшой доклад недавно слушал https://www.dropbox.com/s/nwe567bmj8lbqdr/TechTalk%2311%20-%20Demedetskiy%20-%20DSL%20creation.pdf?dl=0Ответ 4
Вопрос: есть ли такой замечательный язык, который бы совмещал обе парадигмы? Вам понравился бы объектно-ориентированный язык Logtalk. Он является надмножеством языка Prolog. В настоящее время он реализован как препроцессор с использованием одной из версий Prolog как бэкенд-компилятора: SWI Prolog XSB-Prolog YAP Prolog GNU Prolog JIProlog Sictus Prolog и другие, в т.ч. коммерческие версии Prolog. Стоит взглянуть также на http://plo.sourceforge.net/
Комментариев нет:
Отправить комментарий