Loading...

如果 LISP 如此出色

Original

May 2003

如果 Lisp 如此出色,为什么没有更多人使用它?我最近在一次演讲中被一位听众问了这个问题。这也不是第一次了。

在语言中,就像在很多事情中一样,流行度和质量之间没有太多关联。为什么约翰·格里沙姆(诉讼之王 销量排名第 44 位)比简·奥斯汀(傲慢与偏见 销量排名第 6191 位)更畅销?即使是格里沙姆也会声称这是因为他是一位更好的作家吗?

以下是傲慢与偏见 的第一句话:

世人都知道,一个单身汉,只要有了相当的财产,就一定会想要娶位太太。

“世人都知道?”对于一个爱情故事的第一句话来说,这词语太长了。

就像简·奥斯汀一样,Lisp 看起来很难。它的语法,或者说没有语法,让它看起来完全不像大多数人习惯使用的语言。在我学习 Lisp 之前,我也害怕它。我最近偶然发现了一本 1983 年的笔记本,里面写着:

我想我应该学习 Lisp,但它看起来太陌生了。

幸运的是,我当时 19 岁,对学习新事物没有太大的抵触。我当时太无知了,学习几乎任何东西都意味着学习新事物。

那些害怕 Lisp 的人编造了其他不使用它的理由。当 C 语言是默认语言时,标准的借口是 Lisp 太慢了。现在,Lisp 方言已经成为最快的语言之一,这个借口已经消失了。现在,标准的借口是公开的循环论证:其他语言更流行。

(小心这种推理。它会让你得到 Windows。)

流行度总是自我延续的,但在编程语言中尤其如此。更多库被编写用于流行语言,这使得它们更加流行。程序通常需要与现有程序一起工作,如果它们是用相同的语言编写的,这会更容易,因此语言像病毒一样从一个程序传播到另一个程序。而且,经理更喜欢流行语言,因为它们让他们对开发人员有更大的控制权,开发人员更容易被替换。

事实上,如果编程语言都或多或少等效,那么除了最流行的语言之外,几乎没有理由使用任何其他语言。但它们并不都等效,相差甚远。这就是为什么像简·奥斯汀的小说一样,不太流行的语言仍然能够生存下去。当每个人都在读最新的约翰·格里沙姆小说时,总会有几个人在读简·奥斯汀的小说。