Featured image of post 如果Lisp如此伟大

如果Lisp如此伟大

探讨Lisp语言的优势与普及度之间的关系,以及编程语言选择的影响因素

📚 返回 Paul Graham 文章目录

如果Lisp如此伟大

2003年5月

如果Lisp如此伟大,为什么使用它的人不多?这是我最近在一次演讲中,被一位听众中的学生问到的问题。这已经不是第一次被问到了。

在编程语言领域,就像在许多其他领域一样,流行度和质量之间并没有太多相关性。为什么约翰·格里沙姆(《诉讼之王》销量排名第44位)的销量超过简·奥斯汀(《傲慢与偏见》销量排名第6191位)?就连格里沙姆本人也不会声称这是因为他是更好的作家。

让我们看看《傲慢与偏见》的第一句话:“凡是有钱的单身汉,总想娶位太太,这是一条举世公认的真理。“用"凡是有钱的单身汉"这样的长句作为爱情故事的开头?

和简·奥斯汀的作品一样,Lisp看起来很难。它的语法,或者说缺乏语法,使它看起来与大多数人习惯的语言完全不同。在我学习Lisp之前,我也对它感到害怕。我最近翻到了1983年的一个笔记本,我在其中写道:“我想我应该学习Lisp,但它看起来太陌生了。“幸运的是,我当时19岁,对学习新事物并不太抗拒。我当时太无知了,学习几乎任何东西都意味着学习新事物。

对Lisp感到害怕的人会编造其他理由来避免使用它。在C语言是默认语言的时代,标准的借口是Lisp太慢了。现在Lisp方言已经成为最快的语言之一,这个借口已经消失了。现在标准的借口是公开的循环论证:其他语言更受欢迎。

(要警惕这种推理。它会让你选择Windows。)

流行度总是自我延续的,但在编程语言领域尤其如此。为流行语言编写的库越多,它们就越受欢迎。程序经常需要与现有程序配合工作,如果它们用相同的语言编写会更容易,所以语言会像病毒一样从一个程序传播到另一个程序。而且管理者更喜欢流行语言,因为这给了他们更多的筹码来控制开发者,因为开发者更容易被替换。

事实上,如果所有编程语言或多或少都是等价的,那么除了最流行的语言外,使用其他语言就没有什么理由了。但它们并不等价,远非如此。这就是为什么不太流行的语言,就像简·奥斯汀的小说一样,能够继续存在。当其他人都在读最新的约翰·格里沙姆小说时,总会有人选择读简·奥斯汀。

英文版:paulgraham.com/iflisp.html|中文版:HiJiangChuan.com/paulgraham/023-if-lisp-is-so-great

📚 返回 Paul Graham 文章目录

更新记录: