Loading...

如果 LISP 如此优秀

Original

2003年5月

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

在编程语言中,正如许多事物一样,流行度与质量之间并没有太大关联。为什么约翰·格里沙姆(《侵权法之王》销量排名,44)会比简·奥斯汀(《傲慢与偏见》销量排名,6191)卖得更好?即使是格里沙姆也会声称这是因为他是更好的作家吗?

这是《傲慢与偏见》的第一句话:

一个单身汉拥有良好的财富,必定是想要一位妻子,这是一条普遍公认的真理。

“这是一条普遍公认的真理?”对于爱情故事的第一句话来说,长得有些过于复杂。

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

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

幸运的是,那时我19岁,对学习新事物并不太抵触。我无知到几乎学习任何东西都意味着学习新事物。

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

(当心这种推理。它会让你使用 Windows。)

流行度总是自我延续的,但在编程语言中尤其如此。为流行语言编写的库越来越多,这使得它们变得更加流行。程序通常必须与现有程序协作,如果它们使用相同的语言,这会更容易,因此语言像病毒一样在程序之间传播。而且管理者更喜欢流行语言,因为这使他们对开发者有更多的控制力,开发者更容易被替换。

确实,如果编程语言都或多或少是等价的,那么使用任何语言的理由都几乎没有,除了最流行的语言。但它们并不都是等价的,远非如此。这就是为什么不那么流行的语言,如简·奥斯汀的小说,依然能够生存。当其他人都在阅读最新的约翰·格里沙姆小说时,总会有一些人选择阅读简·奥斯汀的作品。