Loading...

如果LISP如此出色

Original

2003年5月

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

在语言领域,就像在许多其他领域一样,受欢迎程度和质量之间并没有太多相关性。为什么约翰·格里森(法律之王销售排名第44位)的销量要超过简·奥斯汀(傲慢与偏见销售排名第6191位)? 即使格里森自己也不会声称这是因为他是一个更好的作家。

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

这是一个普遍公认的事实,一个独身男子如果拥有丰厚的财富,一定会想要找一个妻子。

"这是一个普遍公认的事实"?对于一个爱情故事的第一句话来说,用词有些过于隆重。

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

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

幸运的是,当时我只有19岁,对于学习新事物并不抗拒。我当时太无知,学习任何东西都意味着学习新事物。

被Lisp吓到的人会编造其他不使用它的理由。过去当C语言还是默认语言时,标准借口是Lisp太慢。现在Lisp方言已经成为最快的语言之一,这个借口已经不成立了。现在的标准借口公开地是循环论证:其他语言更受欢迎。

(要小心这种推理。它会让你陷入Windows的困境。)

受欢迎程度总是自我强化的,但在编程语言中尤其如此。更多的库会被编写用于流行语言,这使它们变得更加流行。程序通常需要与现有程序协作,如果使用相同的语言会更容易,因此语言就像病毒一样从程序传播到程序。而且管理者更喜欢流行语言,因为它们可以更好地控制开发人员,这些开发人员更容易被替换。

事实上,如果所有编程语言都差不多,使用最流行的语言就没有什么理由了。但它们并不都一样,差距很大。这就是为什么不太流行的语言,就像简·奥斯汀的小说,仍然能够生存下来。当其他人都在读最新的约翰·格里森小说时,总会有少数人在读简·奥斯汀。