如果您正在读一本书,我强烈推荐 “Prolog的艺术” :
从C / C ++这样的东西来到Prolog不仅仅是学习编程语言的问题。它是 的 完全不同的思维方式 强> 关于编程。
的 Prolog是关于询问计算机的问题 强> (如果你愿意,可以'查询')。计算几乎是计算机试图回答你的问题的副作用。 的 没有有意义的等价于循环或条件,因为prolog程序员不会用这些术语来思考。 强>
的 一个好的Prolog程序看起来像是你试图解决的问题的描述被分解成递归的情况 强> 和子问题,而不是组织成函数或类的指令列表。
学习Prolog的最佳方法是抛弃以前的所有编程经验。实际上考虑C和C ++将使Prolog更难学习和使用。尝试采用初学者的想法,也许更像是代数而不是程序员。
作为其他答案中提到的Prolog教程和教科书的补充,我建议您快速浏览一下这篇简短的文档:
势在必行的程序员的序言
我认为这是你正在寻找的一部分。它不会教你Prolog,但它将有助于缩小与Prolog的理解差距。它使用非Prolog程序员所理解的术语描述了Prolog的基础知识。例如,它显示了Prolog中的控制结构,即序列,选择和重复。但它确实假设你已经开始学习Prolog了。
如果你想要了解一些你已经知道的新东西,那就太好了。但是,凭借这种知识/理解,您可能最终会在Prolog语法中编写C代码。祝好运!
怎么了? 立即学习Prolog ,每次提出这样的问题时,这通常是最重要的推荐?
它可能不会给你你想要的术语 - 我相信它甚至没有提到“谓词”(使用“事实,规则和查询”代替)或“循环”(它只是显示如何使用递归) - - 但是,一旦概念清晰明确,术语就应该简单,快速,简单,“现在学习Prolog”似乎确实能够很好地理解概念。