使用Prolog优于其他语言有什么好处?

Laz*_*zer 8 prolog

通常,每种正在使用的语言都被用于其优势.

Prolog有哪些优点?

问题的一般情况/类别是什么,人们可以比任何其他语言更有效地使用Prolog?

ann*_*ata 5

相比到底是什么?Prolog实际上只是逻辑编程的卓越实现,因此,如果您的问题确实是关于编程范例的比较,那么的确非常广泛,您应该在此处查看

如果您的问题更具体地是关于序言而不是更常见的面向对象语言,那么我认为您是在将苹果与橙子进行真正的比较-“优势”(例如它)只是对世界的另一种思考方式,并且有时改变您提出问题的方式可以为解决问题提供更好的工具。

  • 它可以(理论上-即我无法想到一个反例),但是仅仅因为您可以,并不意味着您应该这样做。这样看待它:如果大多数时候*正确选择*,那么Prolog程序员将比以前多得多。 (2认同)

Ste*_*314 5

基本上,如果您的程序可以轻松地声明为声明性形式逻辑语句,那么Prolog(或该系列中的另一种语言)将提供最快的开发时间。如果您使用良好的Prolog编译器,它还将提供最佳的性能和可靠性,因为该引擎将进行大量的设计和开发工作。

试图用另一种语言实现这种事情往往是一团糟。最干净,最通用的解决方案可能涉及实现自己的统一引擎。即使是幼稚的实现也不是那么简单,沃伦抽象机(Warren Abstract Machine)有一本书或一本关于它的书,要想做得更好,至少要进行相当多的研究,阅读一些引起头痛的论文。

当然,在现实世界中,程序的关键部分可能会受益于Prolog,但是使用其他语言可以更好地处理许多其他内容。这就是为什么许多Prolog编译器可以与C进行接口的原因。