什么是Prolog不好?

时间:2017-06-23 12:48:33

标签: prolog

我最近试图了解Prolog,它似乎很好地映射到很多领域,但我无法弄清楚它可能是什么坏处。

那除了需要实时/无gc性能的事情之外还有什么不好?

1 个答案:

答案 0 :(得分:8)

我同意您对Prolog很好地映射到许多域的一般评估。在我看来,甚至超过大多数其他语言。

给出少数几个不好的例子:

Prolog在数字运算方面显然很糟糕,因为目前已经了解到这一点。通过这个,我的意思是许多,很多在很大程度上是无意义的浮点数计算,以任何人都无法实际理解或处理的方式累积错误。

这是Prolog实施无法与今天竞争的领域,因为所有这些计算都会因Prolog推理条款的方式而产生过多的开销,并且还因为这些计算的恶劣性一般在逻辑编程社区中感到厌恶,其中重点是用户的正确性 convienence ,其他数字格式如有理数通常是尽可能选择。

然而,我认为一旦浮点数的极端缺点得到充分广泛理解和更好的格式,我认为这将成为未来的重要发展(例如: Unums

在他的书The End of Error中,约翰古斯塔夫森给出了一个我经常想到的美丽的比喻:

几十年前,打印一页需要30秒。当打印机变得更好时,打印页面仍需要30秒。我们没有花费所有技术进步来在30秒内打印5000个低质量页面,而是将页面的质量提高了数千倍。

我认为数字运算最终会朝着同一方向发展:使用越来越多的计算能力来提高结果的质量,而不是数量。