我同意您对Prolog很好地映射到许多领域的一般评估.在我看来,甚至超过大多数其他语言.
给出一些不好的例子:
Prolog在数字处理方面显然不好,因为它目前被理解.通过这种方式,我的意思是许多,很多基本上无意义的浮点数计算,以任何人都无法实际理解或处理的方式累积错误.
这是Prolog实现无法像现在这样竞争的领域,因为所有这些计算都会因Prolog对术语的推理而产生过多的开销,并且还因为这些计算的肮脏性在逻辑编程社区中一般都被憎恶,其中重点是更倾向于用户的正确性和便利性,并且如果可能的话,通常会选择其他数字格式,例如有理数.
然而,我认为这将成为未来的重要发展,一旦浮点数的极端缺点已经得到充分广泛的理解,并且更好的格式(例如:Unums等)已经广为人知并且可用,Prolog可能会变成一个在这一领域也越来越重要的工具.
在他的书"错误的终结"中,John Gustafson给出了一个我经常想到的美丽的比喻:
几十年前,打印一页需要30秒.当打印机变得更好时,打印页面仍需要30秒.我们没有花费所有技术进步来在30秒内打印5000个低质量页面,而是将页面质量提高了数千倍.
我认为数字运算最终会朝着同一个方向发展:使用越来越多的计算能力来提高结果的质量,而不是数量.