为什么有些程序语言可以统治世界,而另一些却沉溺于默默无闻?

两个学术团体,分别来自普林斯顿和加州伯克利,试图通过组合分析长期数据来攻克这一现代世界的难题。他们认为关键可能在于语言的文档做得如何。或者是由于一般程序员都没有时间与动力去学习太多的编程工具。又或者是因为学术界一贯喜欢制造显得华丽聪明但毫无实用价值的东西。

但一个叫Tamir Kahson的同学不这么认为。他显然认为这一切的谜底在于胡子。

根据Kahson同学的严肃(playful)分析,语言的成功与其发明者脸上胡子的长度是明显正相关的。显然,他是有理有据的。

C应该是迄今为止最成功的语言。六七十年度在贝尔实验室的时候,它就被用于编写UNIX操作系统,而到现今仍然是现代计算的基石之一。30年以来,它仍然维持着世界上最流行的语言的地位。很多人将此归功于Brian Kernighan的《C编程语言》一书,另一些人则归功于C的设计者,Ken Thopmson和Dennis Ritchie的天才。但是他俩除了天才意外,共同的特点是非常壮观的胡子:

第二流行的语言应该是Java了。在其初次登台15年之后,尽管老是因为与Oracle联系过密而被人说三道四,但它仍然在Android和一些视频云服务上遍地开花。理所应当的,它的创造者James Gosling,也知道如何保养他意义重大的面部毛发。

第三流行?或许是C++吧,一种C的派生语言,也在贝尔实验室中发明。它的开发者是Bjarne Stroustrup,一个曾经有着必要大小胡须的人(下前)。C++没有C那么流行,或许正与Stroustrup决定把胡子给刮了(下后)有关。

Lisp是一个第二古董的仍在使用的高级语言,影响着数不清的后继者们。Alan Kay,一个为当代计算做出奠基贡献的研究者曾经将Lisp视为“举世无双的最伟大编程语言。”它的设计者呢?是John McCarthy,一位在人工智能研究史上胡子最大的人。

或许Kay就应该多关心下McCarthy的胡子而不是语言的具体设计。Kay发明了SmallTalk,造成了对后来的面对对象语言的深远影响,但是该语言却从来没有在世界上大流行过。问题似乎出在Kay仅仅留了个小胡子上。

你看看,一个小胡子是可能限制语言的发展的。Joe Armstrong,Erlang语言的发明者,是一个小胡子的男人。同样的小胡子男人有Larry Wall,Perl的发明者,以及Thomas Kurtz,BASIC语言的发明者。这些都是有一定影响力的语言,并且现在仍然在某些方面有所运用。但是他们本来可以留个更大的胡子的。

话说回来,小胡子总比没胡子强。看看Kristen Nygaard,SIMULA的发明者?一点胡子都没有。Ada的发明者Jean Ichbiah?剃得很干净。Simon Peyton Jones,开发Haskell语言的主要脑力?你自己猜猜看好了。

是的,Pascal的创造者Niklaus Wirth是有络腮胡子的,而Pascal没有达到C或者C++的高度。但Pascal被用在了最初使世界着迷的Macintosh电脑上。再说,Turbo Pascal的开发者Anders Heijlsberg没有留胡子,或许正是原因。

还有其他例外么?女性计算机科学家Grace Hopper,作为Cobol语言——一种仍然在今天被广泛用于商业目的开创性语言——的母亲,是没有胡子的。但是显然的,她生理上来说不大可能长胡子,或许编程之神在她这儿放了点水。

明显,如果一个人要想成为一门新兴语言的缔造者,必须要对Kahson关于胡子的研究有所了解。Guido Van Rossum,Python的发明者,试图留一个像Ken Thompson一样的胡子,Python的社区也紧随其后。PHP的Rasmus Lerdorf,至少是在向这个方向发展了。

当Kahson的胡子理论于2004年第一次发表时,他显然刺激了Ruby的创造者,Yukihiro “Matz” Matsumoto,一个向来喜欢刮干净胡子的人,作出了改变和回应:

来源:http://www.wired.com/wiredenterprise/2012/06/beard-gallery/