Prolog 诞生的幕后故事
The Birth of Prolog (1996)
1996 年,Prolog 这门逻辑编程语言正式诞生,它彻底改变了编程的思维方式。文章回顾了 Prolog 从概念提出到实际应用的全过程,揭示了其背后的技术挑战与突破。作者通过第一视角,讲述了 Prolog 如何从学术界的理论构想,一步步走向工业界的实际落地。Prolog 的出现,不仅为人工智能领域带来了新的工具,也启发了后续许多逻辑编程语言的诞生。如果你对编程语言的演进史感兴趣,这篇文章绝对不容错过。
Prolog 的诞生,标志着逻辑编程从理论走向实践的关键一步。
HN 评论区
19- a9i
我年轻时发现了 Prolog,从此逻辑编程就像一种瘾——我怀疑这并不总是一种特别实用的瘾。
不过最近,我在 Emacs、Lisp 和函数式编程中找到了某种解药。
话说回来,也许我只是用一种优雅的瘾替代了另一种。
- froh
Prolog(以及 Common Lisp)在 1990 年代是 NLP 领域的当红炸子鸡,HPSG 系统作为当时的最新潮流,就是用它们实现的。
当时让我困惑、至今依然困惑的是那种严格的确定性:程序代码的顺序决定了输出,而不是由最快证明有效的绑定来决定。
我原本希望有一种东西,能由类似 A* 的算法驱动,并由语料库学习得到的概率来引导……
2000 年代初,我看到了确实在做这件事的研究:用 A* 引导的搜索来指导合一算法。我想知道这些方法后来怎么样了。(再也找不到那篇具体的论文了,那对我来说是阅读艰深却有用且解释得极好的内容时的神圣时刻之一,如果找到了我会更新。我_认为_它来自斯坦福。)
- jrapdx3
在 1980 年代用 Prolog 编程是一段愉快的经历。我用 Prolog 写过一些有用的程序,但据我回忆,那个时代这门语言只是昙花一现,很快就被 relegated 到小众领域了。
如今我享受用 Scheme 编程,我猜开发者选择 Scheme 的频率大概和选择 Prolog 差不多。使用 Scheme 会勾起我对 Prolog 的回忆。直觉上,这两种编程语言似乎要求或激发了一种相似的思维过程,这吸引着我们中的一些人。我并没有深入探究这个想法,但它一直萦绕在我的脑海中。
有趣的是,这两种编程语言都开发于 1970 年代初,首个官方版本都发布于 1975 年。Scheme 的作者是否了解并受到 Prolog 的影响?不太可能,但 Prolog 的创造者确实在 Scheme 的诞生地 MIT 待过一段时间,所以概率比零稍微大一点。