2003年5月如果Lisp这么棒,为什么没有更多的人使用它呢?在我最近的一次演讲中,观众席中的一位学生问了我这个问题。这也不是第一次了。在语言中,就像在许多事情中一样,受欢迎程度和质量之间没有太大的相关性。为什么约翰·格里沙姆(“侵权之王”销量排行榜,44位)的销量超过简·奥斯汀(“傲慢与偏见”销量排行榜,6191位)?甚至连格里沙姆都会声称,这是因为他是一个更优秀的作家吗?“傲慢与偏见”的第一句话是:这是一个举世公认的真理,一个拥有好运气的单身男子一定需要一个妻子。
这是一个举世公认的真理吗?爱情故事的第一句话就是长词。和简·奥斯汀一样,里斯普看起来很冷酷。它的语法,或者说缺乏语法,使它看起来与大多数人习惯的语言完全不同。在我学习Lisp之前,我也很害怕它。我最近偶然看到一本1983年的笔记本,上面写着:幸运的是,当时我19岁,对学习新事物没有太大的抵触情绪。我太无知了,学习几乎任何东西都意味着学习新事物。被Lisp吓坏的人们编造了其他不使用它的理由。回到C语言是默认语言的时候,标准的用法是Lisp太慢了。既然Lisp方言是可用的速度最快的语言之一,这个借口就不复存在了,现在标准的借口是公开循环的:其他语言更受欢迎。(谨防这种推理。它为您带来了Windows。)。流行总是会自我延续的,但在编程语言中尤其如此。更多的库是为流行语言编写的,这使得它们更受欢迎。程序通常必须与现有程序协同工作,如果它们是用相同的语言编写的,这会更容易,这样语言就像病毒一样在程序之间传播。经理们更喜欢流行语言,因为它们给了他们对开发人员更多的影响力,而开发人员更容易被取代。事实上,如果所有编程语言都或多或少是等价的,那么除了最流行的编程语言之外,几乎没有理由使用任何编程语言。但它们并不都是等同的,绝对不是。这就是为什么像简·奥斯汀的小说这样不太受欢迎的语言继续存在的原因。当其他人都在读约翰·格里沙姆的最新小说时,总会有一些人代之以读简·奥斯汀。