В принципе, если ваша программа может быть легко сформулирована как декларативная формальная логическая инструкция, Prolog (или другой язык в этом семействе) даст самое быстрое время разработки. Если вы используете хороший компилятор Prolog, он также даст лучшую производительность и надежность, потому что у двигателя будет много усилий по разработке и разработке.
Попытка реализовать подобные вещи на другом языке имеет тенденцию быть беспорядком. Самое чистое и наиболее общее решение, вероятно, связано с внедрением собственного механизма объединения. Даже наивные реализации не совсем тривиальны, у Уорренской абстрактной машины есть книга или два, написанные об этом, и, по крайней мере, делать это будет, по крайней мере, вовлекать справедливое исследование, читая некоторые статьи, вызывающие головную боль.
Конечно, в реальном мире ключевые части вашей программы могут извлечь выгоду из Prolog, но многие другие вещи лучше обрабатываются с использованием другого языка. Вот почему многие компиляторы Prolog могут взаимодействовать, например, с C.
по сравнению с C/C++ в частности ... решение проблемы с четырьмя королями, например, так проще в Prolog (что я только что узнал). Почему C vs Prolog как яблоки и апельсины? Не может ли каждая программа C быть преобразована в Prolog и наоборот? – Lazer
Это может (теоретически - то есть я не могу придумать контр-пример), но только потому, что вы можете это не значит, что вам нужно. Посмотрите на это так: если бы он был * правильным выбором большую часть времени, тогда было бы намного больше программистов пролога, чем есть. – annakata
@annakata да, согласен. но я не знаю, почему (меньше программистов Prolog) – Lazer