The essay is from http://www.paulgraham.com/pypar.html, Chinese translation is here: ::-- glitch.wang [2006-07-22 04:48:11]

关于Python的悖论

August 2004

在最近的一次谈话中,我讲了一些让很多人不高兴的话:你在一个Python项目中工作时,有可能遇到一些比在Java项目中更加聪明的程序员。

我无意贬低Java程序员。我只是想说,Python程序员都很聪明。学习一门新的编程语言不容易,人们通常不会为了找工作去学习Python,他们(Pythoner)多是出于由衷的对于编程的热爱和不满意他们已经掌握的语言(而学习Python)。

而这样的人(仅仅为了兴趣而学习Python)反而是公司们愿意雇佣的对象。对于这种(矛盾)的情况,由于缺乏一个更合适的名字,我决定称之为Python悖论:如果一个公司选择用相对深奥一点的语言来构建他们的软件,他们反而会雇佣到一些相对优秀的程序员,因为他们会吸引那些因为真正喜欢而学习的有心人。对于程序员而言,这个悖论甚至更加明显:如果你需要一份更好的工作,那么需要学习的语言反而是那些“人们不用学来找工作”的偏门语言。

到目前为止,只有少数的公司明智地意识到了这一点。但是同样的选择仍然存在:这些企业几乎都是程序员最愿意为它们工作的公司。以Google为例,当他们发布他们的Java程序员职位时,还需要一些Python的经验。

我的一个朋友,他几乎懂得所有的广泛使用的语言,他的大多数项目都使用Python,他认为主要的原因是Python的源代码看上去非常不错。对于选择语言这个问题,看上去这是个非常矬的原因, 但是实际上并不是这样:你一定会花更多的时间去阅读代码而不是写代码。你会把点点滴滴的源代码塑造成形,就像雕刻家塑造黏土一样,如果一个语言的源代码非常丑陋,就像一块混满了煤渣的黏土一样,会让他的塑造者发疯(So a language that makes source code ugly is maddening to an exacting programmer, as clay full of lumps would be to a sculptor)。

提到丑陋的源代码,人们总会想到Perl,但是这种“丑陋”不同于我的所指。真正的丑陋并不是让人不舒服的语法,而是关于构建程序的基本概念的错误。Perl看上去可能像某个卡通人物在骂人(cartoon character swearing),但是在某些情况下,它确实有胜过Python的地方.

到目前为止,无论如何,两种语言当然是活动目标(因为它们目前非常活跃),但是它们同Ruby(Icon, Joy, J, Lisp, Smalltalk)一样,都是由那些真的喜欢编程的人创造的,并且被同样的一群人使用,这些人总体而言确实是(或者趋向于成为)编程的好手。

Another translation

ThePythonParadox (last edited 2009-12-25 07:09:36 by localhost)