2005年第一期《程序员》上,由我策划组织,当时在我社工作的方茜小姐执笔,发表了一篇很有意思的文章《胡子决定编程语言运势》。事后很长时间,我的不少朋友都还对这篇文章记忆犹新,左轻侯老弟甚至评价说这篇八卦是《程序员》 5年来最精彩的一篇文章。虽说有些言过其实,不过我也觉得这是我们程序员文化中难得的一篇精彩八卦,可以为我们的聚会提供很好的谈资,甚至应该成为我们这个群体的集体记忆。因此,在这篇文章发表将近一年之后,我将该文的底稿(与最后的发表稿件有很大差别)发表在自己的blog里,希望有更多的同行看到,博君一笑而已。
感谢云风转换图片并且提供网上 图片存储空间!
胡子决定编程语言运势
原作发表于《程序员》杂志2005年第一期
素材、策划:孟岩
执笔:方茜
(取材自: http://khason.biz/blog/2004/12/why-microsoft-can-blow-off-with-c.html)
C#会前途黯淡,只因大胡子惹的祸?!有点耸人听闻吧。可是色列软件工程师 Tamir Khason自有一套理论(也许他曾学过中国的面相术)得出这样的结论。不信,咱就瞧瞧他发在自己Blog上的一篇文章,看看他有什么样的奇思妙想。
Round 1
John Backus,Fortran之父
Alain Colmerauer, Prolog之父
Jean Ichbiah, Ada之父
以上三人分别发明了Fortran、 Prolog和 Ada语言。这些语言都有着过人的优点,每一种在当时都可以称得上是创意不凡。很可惜,三个当中没有一个广泛流传。与之相对,下面的Brain Kernighan、Dennis Ritchie和Ken Thompson所“炮制” 出的C和Unix,已经使用了三十年了,也许再用100年也没问题!
C语言宗师Brain Kernighan
UNIX/C创造者Ken Thompson 和 Dennis Ritchie
Round 2
以下两位分别是Alan Kay和Kristen Nygaard。是他们发明了第一批面向对象语言 Smalltalk和Simula 67。不过,这些语言都行之不远。
Smalltalk之父Alan Kay
Simula 67之父Kristen Nygaard
Brad Cox,曾尝试把OO加入到C中,于是Objective-C诞生。然而,Objective-C 也是命运不济,目前只有在Mac操作系统中还能看到它的踪影。 与之相对,另一位所做的相同尝试却大红大紫,这就是Bjarne Stroustrup所写的C++。其实,看看 Stroustrup的脸就不难明白为什么这两种语言的命运会如此不同。
Objective-C之父Brad Cox
C++之父Bjarne Stroustrup
到这里,你能猜出点规律来吗?
答案揭晓:有大胡子——有旺运;没胡子——只有干瞪眼!
由此,看看下面两位的胡子,C#和Java究竟鹿死谁手,不就是不言自明的吗?
C#之父Anders Hejlsberg
Java之父James Gosling
Round 3
当然,你也可以不信。不过,还有一个例证可以很好地说明。下面两位分别是Basic的作者Thomas Kurtz 与Perl的作者Larri Wall。两人虽然没有令人咋舌的大胡子,但两撇小胡子倒也浓密有致。自然,这两种语言红得发紫。
Thomas Kurtz, Basic之父
Larry Wall, Perl之父
但是同为动态语言,Python和Ruby的作者Guido van Rossum和松本行弘都没有胡子,哪怕是两撇小胡子,所以尽管它们都比Perl语言好,但都没有Perl使用广泛。不过,凡事都有转机。Rossum看样子极有希望很快长出大胡子,而日本人松本,看样子够呛。
Guido van Rossum, Python之父
松本行弘, Ruby语言之父
————————————————————————————————
更有意思的事情还在后面,松本正巧看到了这个帖子,很不服气,于是便在自己的blog上贴出这幅照片:
松本行弘:谁说俺长不出大胡子?
看来, Ruby还是大有希望的!
后记:从2005年发展的情况来看,Ruby的火爆再次证明的胡子定律的正确性。