原文地址 :http://www.readability.com/read?url=http%3A//code.google.com/p/windows-config/wiki/TourDeBabel
大家去原文看吧,这样有条理。我摘录几个我比较欣赏的话语:
Perl有一天也会消逝。那是因为一门新的语言Ruby刚刚终于被翻译成英语了。没错,它是在日本发明的,这么多地儿,没想到日本人搞出来了,还以为他们只是硬件和制造上占有名气,而不是他们的软件业,所以大家都跟你一样惊奇。
上礼拜我碰到一个来面试的,他告诉我多继是邪恶的,因为,比如,你可以从头,胳膊,腿,躯干多重继承出一个人来。他既是对的,又是错的。那样的多继情形当然邪恶,但那都是因为他自己太邪恶了。那样继承出来的“东西”远远就能看见有多蠢,如果他还把这玩意儿弄进门来那就更邪恶了。
今天我要告诉你为什么Java的interface是个烂货。 几年前Gosling自己都说,如果一切都能重来的话,他不会搞出个interface的概念。 但是那正是Java的问题。当James说出那句话的时候,人们被雷到了。我甚至能感觉到那股雷劲儿,能感觉到Sun公司市场部和法务部的鸟人是多么想把James灭口,然后告诉大家他没那么说过。
C++是地球上最蠢的语言,即使是从蠢这个字的真正意义上出发。C++很无厘头。它不知道自己是什么东西。
写一个C的编译器是那么的简单,以至于你可以用C写一个关于C的工具,用起来就像是有内省机制。而C++呢,基本上是不可解析的,所以如果你想写一个很牛逼的工具用来—比如,告诉你你的虚函数的原型,或者帮你重构你的代码,你将不得不依赖别人的工具集,因为你自己在除非脑子进屎的情况下是根本不会去写一个C++的解析器的。而市面上所有的C++的解析器都很傻逼。
我们想这个系统里干点啥好像要一万年。一个亚马逊工程师有一次这样描述我们的代码库:“一座很大的屎山,你见过的最大的山,每次你想修正一个bug,你的工作就是爬到屎山的正中心去。”
C++是个很好玩的游乐场,而如果你把它玩儿得门儿清的话你会觉得自己特牛,所以你总是被诱惑把你知道的所有的东西都用上。但是那是很难做好的,因为从一开始这个语言就太狗屎了,最终,你会弄得一塌糊涂,即使你很能干。
我在大学里的时候老喜欢C++了,因为我那时候就只知道这一门语言。当我听到我的语言教授,Craig Chambers,绝对的厌憎C++,我想:“为啥呢? 我觉得它挺好的啊”。而当我听到STL(标准模板库)的发明者被采访时说他恨OOP(面向对象编程)时,我更是认为他肯定是磕药了。怎么会有人恨OOP呢,而这个人竟然还是STL的发明者?
不是间接的,因为你用C++写的一个狗屎功能跑不起来了,让客户很生气,于是你不得不去搞定它以恢复客户的哈皮度。
切换到Java编程语言就把你变成了两个程序员—一个处理那些你不需要关心的东西,另一个可以集中精力在问题本身上。这是一个很震人的改变,一个你应该很快就能习惯能喜欢上的改变。
就像Jamie Zawinski(Netscape牛人,开发Mozilla浏览器,好像学历是高中毕业?)在他著名的“Java真烂”那篇文章里说的:“先说那些好东西:Java没有free()函数。我必须一开始就承认,其他的东西都没什么了不起。(没有free)是能让我原谅其他所有东西的特性,不管其他东西有多烂。讲完这一点后,我的文章里其他一切几乎都完全没有重要性了。”
Java几乎每一方面都很好,除了它的语言本身,而这是JWZ抱怨的主要对象。
跟C++比,Java作为一个语言还过得去。好吧,别扯了,Java要好很多。因为它有(内建)的字符串。哥们,你说一个没有内建的字符串的语言是人用的吗。
Perl有世上最好的市场推广。你可以写一本介绍他们市场推广有多绝的书。Sun公司砸大笔钱给Java推市场,Perl在受欢迎程度来说能跟Java齐头并进,但Perl纯粹是依靠Larry Wall和他那帮哥们的三寸不烂之舌做市场。哈佛商学院的人应该去研究Perl的市场是怎么做出来的。真的让人瞠目结舌
不管怎么样,Ruby从Perl那里偷师了所有的好东西; 实际上,Matz,Ruby的作者(Yukihiro Matsumoto,如果我没记错的话,但是他外号“Matz”),觉得他从Perl那里偷的有点太多了,他的鞋上也粘了些鲸鱼肠子。但是只是一丢丢。
啊,有点像Smalltalk的人们,他们永远在等待替代C++,没想到半路杀出Java一下把它们操翻了,漂亮地,永久地。
Python怎么说呢,一个不错的语言,这么多年来一直旁边在等待它的机会? Python社区很长时间以来是那些勇敢地吞下红药片从Perl骇客帝国中醒来的人的避难营。