Differences between revisions 5 and 18 (spanning 13 versions)
Revision 5 as of 2006-07-22 04:50:42
Size: 5549
Editor: glitch.wang
Comment:
Revision 18 as of 2009-12-25 07:09:36
Size: 3141
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
The essay is from [http://www.paulgraham.com/pypar.html], Chinese translation is here:
::-- ["glitch.wang"] [[[DateTime(2006-07-22T04:48:11Z)]]]
The essay is from http://www.paulgraham.com/pypar.html, Chinese translation is here: ::-- [[glitch.wang]] [<<DateTime(2006-07-22T04:48:11Z)>>]
Line 6: Line 5:
The Python paradox
关于Python的悖论
= 关于Python的悖论 =
Line 10: Line 8:
 * In a recent talk I said something that upset a lot of people: that you could get smarter programmers to work on a Python project than you could to work on a Java project.
 * 在最近的一次谈话中,我讲了一些让很多人不高兴的话:你在一个Python项目中工作时,有可能遇到一些比在Java项目中更加聪明的程序员。
在最近的一次[[http://www.paulgraham.com/gh.html|谈话]]中,我讲了一些让很多人不高兴的话:你在一个Python项目中工作时,有可能遇到一些比在Java项目中更加聪明的程序员。
Line 13: Line 10:
 * I didn't mean by this that Java programmers are dumb. I meant that Python programmers are smart. It's a lot of work to learn a new programming language. And people don't learn Python because it will get them a job; they learn it because they genuinely like to program and aren't satisfied with the languages they already know.
 * 我无意贬低Java程序员。我只是想说,Python程序员都很聪明。学习一门新的编程语言不容易,人们通常不会为了找工作去学习Python,他们(Pythoner)多是出于由衷的对于编程的热爱和不满意他们已经掌握的语言(而学习Python)。
我无意贬低Java程序员。我只是想说,Python程序员都很聪明。学习一门新的编程语言不容易,人们通常不会为了找工作去学习Python,他们(Pythoner)多是出于由衷的对于编程的热爱和不满意他们已经掌握的语言(而学习Python)。
Line 16: Line 12:
 * Which makes them exactly the kind of programmers companies should want to hire. Hence what, for lack of a better name, I'll call the Python paradox: if a company chooses to write its software in a comparatively esoteric language, they'll be able to hire better programmers, because they'll attract only those who cared enough to learn it. And for programmers the paradox is even more pronounced: the language to learn, if you want to get a good job, is a language that people don't learn merely to get a job.
 * 而这样的人(仅仅为了兴趣而学习Python)反而是公司们愿意雇佣的对象。对于这种(矛盾)的情况,由于缺乏一个更合适的名字,我决定称之为Python悖论:如果一个公司选择用相对深奥一点的语言来构建他们的软件,他们反而会雇佣到一些相对优秀的程序员,因为他们他们会吸引那些真正喜欢而学习的有心人。对于程序员而言,这个悖论甚至更加明显:如果你需要一份更好的工作,那么需要学习的语言反而是那些“人们不用学来找工作”的偏门语言。
而这样的人(仅仅为了兴趣而学习Python)反而是公司们愿意雇佣的对象。对于这种(矛盾)的情况,由于缺乏一个更合适的名字,我决定称之为Python悖论:如果一个公司选择用相对深奥一点的语言来构建他们的软件,他们反而会雇佣到一些相对优秀的程序员,因为他们会吸引那些因为真正喜欢而学习的有心人。对于程序员而言,这个悖论甚至更加明显:如果你需要一份更好的工作,那么需要学习的语言反而是那些“人们不用学来找工作”的偏门语言。
Line 19: Line 14:
 * Only a few companies have been smart enough to realize this so far. But there is a kind of selection going on here too: they're exactly the companies programmers would most like to work for. Google, for example. When they advertise Java programming jobs, they also want Python experience.
 * 到目前为止,只有少数的公司明智地意识到了这一点。但是同样的选择仍然存在:这些企业几乎都是程序员最愿意为它们工作的公司。以Google为例,当他们发布他们的Java程序员职位时,还需要一些Python的经验。
到目前为止,只有少数的公司明智地意识到了这一点。但是同样的选择仍然存在:这些企业几乎都是程序员最愿意为它们工作的公司。以Google为例,当他们发布他们的Java程序员职位时,还需要一些Python的经验。
Line 22: Line 16:
 * A friend of mine who knows nearly all the widely used languages uses Python for most of his projects. He says the main reason is that he likes the way source code looks. That may seem a frivolous reason to choose one language over another. But it is not so frivolous as it sounds: when you program, you spend more time reading code than writing it. You push blobs of source code around the way a sculptor does blobs of clay. So a language that makes source code ugly is maddening to an exacting programmer, as clay full of lumps would be to a sculptor.
 *
我的一个朋友,他几乎懂得所有的广泛使用的语言,他的大多数项目都使用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)。
我的一个朋友,他几乎懂得所有的广泛使用的语言,他的大多数项目都使用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)。
Line 25: Line 18:
 * At the mention of ugly source code, people will of course think of Perl. But the superficial ugliness of Perl is not the sort I mean. Real ugliness is not harsh-looking syntax, but having to build programs out of the wrong concepts. Perl may look like a cartoon character swearing, but there are cases where it surpasses Python conceptually.
 * 提到丑陋的源代码,人们总会想到Perl,但是这种“丑陋”不同于我的所指。真正的丑陋并不是让人不舒服的语法,而是关于构建程序的基本概念的错误。Perl看上去可能像某个卡通人物在咒骂(cartoon character swearing),但是在某些情况下,它确实有胜过Python的地方.
提到丑陋的源代码,人们总会想到Perl,但是这种“丑陋”不同于我的所指。真正的丑陋并不是让人不舒服的语法,而是关于构建程序的基本概念的错误。Perl看上去可能像某个卡通人物在骂人(cartoon character swearing),但是在某些情况下,它确实有胜过Python的地方.
Line 28: Line 20:
 * So far, anyway. Both languages are of course moving targets. But they share, along with Ruby (and Icon, and Joy, and J, and Lisp, and Smalltalk) the fact that they're created by, and used by, people who really care about programming. And those tend to be the ones who do it well.
 * 到目前为止,无论如何,两种语言当然是活动目标(因为它们目前非常活跃),但是它们同Ruby(Icon, Joy, J, Lisp, Smalltalk)一样,都是由那些真的喜欢编程的人创造的,并且被同样的一群人使用,这些人总体而言确实是(而且趋向于成为)编程的好手。
到目前为止,无论如何,两种语言当然是活动目标(因为它们目前非常活跃),但是它们同Ruby(Icon, Joy, J, Lisp, Smalltalk)一样,都是由那些真的喜欢编程的人创造的,并且被同样的一群人使用,这些人总体而言确实是(或者趋向于成为)编程的好手。

= Another translation =
 * [[http://blog.czug.org/eishn/python-beilun-the-python-paradox/blogentry_view#1151991975]]

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)