如果 LISP 真的很棒
Original2003 年 5 月
如果 Lisp 如此优秀,为什么没有更多人使用它?在我最近的一次演讲中,听众中的一名学生向我提出了这个问题。这也不是第一次了。
语言和很多其他事物一样,受欢迎程度和质量之间没有太大关联。为什么约翰·格里森( *《侵权法之王》*销量排名 44)的销量超过简·奥斯汀( *《傲慢与偏见》*销量排名 6191)?格里森会说这是因为他的写作水平更高吗?
这是*《傲慢与偏见》的第一句话:*
一个普遍公认的事实是,一个拥有好运的单身男人一定想要一个妻子。
“这是举世公认的真理吗?”爱情故事的第一句话就很长。
就像简·奥斯汀一样,Lisp 看起来很难。它的语法,或者说缺乏语法,使它看起来与大多数人习惯的语言完全不同。在我学习 Lisp 之前,我也害怕它。我最近偶然发现了一本 1983 年的笔记本,上面写着:
我想我应该学习 Lisp,但它看起来太陌生了。
幸运的是,当时我 19 岁,对学习新事物并不太抗拒。当时的我太无知了,几乎学习任何东西都意味着学习新事物。
害怕 Lisp 的人会编造其他理由不使用它。当 C 是默认语言时,标准借口是 Lisp 太慢。现在 Lisp 方言是可用的较快语言之一,这个借口已经不复存在。现在标准借口是公开循环的:其他语言更受欢迎。
(请警惕这种推理。它会让你陷入 Windows 困境。)
流行总是可以自我延续的,在编程语言中尤其如此。为流行语言编写的库越来越多,这使得它们更加流行。程序通常必须与现有程序协同工作,如果使用同一种语言编写,则更容易,因此语言就像病毒一样在程序之间传播。管理人员更喜欢流行语言,因为它们让他们比开发人员更有优势,而开发人员更容易被替换。
确实,如果所有编程语言都差不多,那么除了最流行的语言之外,使用其他语言就没有什么道理了。但它们并不完全等同,远远不是。这就是为什么不那么流行的语言,比如简·奥斯汀的小说,仍然能够生存下来。当其他人都在读约翰·格里森的最新小说时,总会有少数人读简·奥斯汀的小说。