【译】Python悖论

xiaowenliang 发布于 2011/01/14 17:20
阅读 1K+
收藏 5

Python悖论

 

20048

 

在最近的一次演讲(http://www.paulgraham.com/gh.html)中我说了一些令很多人沮丧的事:相比雇佣程序员来开发Java程序,你更容易雇佣到聪明的程序员来开发Python程序。

我并不是说Java程序员糊涂。我只是说Python程序员聪明。学习一门新的编程语言需要投入大量的精力。人们并不是因为Python能给他们带来工作而学习Python,而是出于对程序设计由衷的热爱和对他们已掌握的编程语言的不满足。

         这也正是让他们成为公司都喜欢雇佣的那种程序员的原因。由于没有一个恰当的名字,我将这种现象称为Python悖论(Python paradox): 如果一家公司选择一种相对传统的语言来开发他们的软件,他们能够雇佣到很好的程序员(better programmers), 因为他们仅能够吸引那些对这门语言足够关心的人。 而对于程序员来说,这个悖论则更明显: 如果你希望获得一份好的工作,你应该学习的语言是一门人们仅仅出于获得工作的目的而不去学习的语言。

         目前,仅有很少的公司足够聪明意识到了这一点。然而这里也有另外一种相同的选择:这些公司也恰恰是程序员们最希望为之工作的公司,比如Google。当他们打出Java工作的招聘广告时,他们也期望应聘者有Python经验。

         我有一位朋友,他几乎了解所有目前广泛被使用的语言。但他使用Python开发绝大多数的项目。他说这主要是因为他喜欢Python源码的样式。作为选择一门语言而不是另一门的原因,这看上去似乎有些轻率,但是这并不像它听起来那样轻率:当你写程序时,你花费了更多的时间在阅读代码上面,而不是编写代码。你把一块块代码堆叠起来的方式正如一个雕刻家把一块块泥土堆叠起来那样。因此,一门让源代码变丑的语言会逼疯一个严格的程序员,正如充满土块的泥土会逼疯一个雕刻家一样[1]

         当提到丑陋的源代码时,人们理所当然的想到了Perl。但是Perl表面的丑陋并不是我所指的那种丑陋。真正的丑陋并不是看起来怪异的语法,而是不得不用错误的观念构造程序。Perl也许看起来想一个卡通人物在诅咒[2],但是它的确有很多在概念上超越Python的地方。

         不管怎样,现在两门语言当然都在朝着各自的目标前进,但是他们和Ruby(还有IconJoyJLisp以及Smalltalk)一样有同一个事实,他们是被真正关注编程的人们开发以及使用的。这也是那些倾向于更好地做一件事的人。

 

译自:http://www.paulgraham.com/pypar.html


[1] 译注: 想想看如果我们玩泥巴时,里面满是硌手的土块,你也会疯掉的。

[2] 译注: 我们都知道在漫画里人物骂人或诅咒的时候经常用“%……¥#@”来表示,这应该是对Perl怪异的语法的形象比喻。

加载中
0
yak
yak

我聪明吗?

0
yak
yak

我讨厌python的样式,最喜欢c的样式,以及跟c类似语法的perl,php

写代码时可以专注逻辑和实现,而不是一个个地来处理是不是对齐了,感觉那是女工干的事,无论我的代码多乱,只要在vim =一下,然后代码立马干净整洁了,

但是python代码如果原来的逻辑分支扩展了,你就慢慢缝裤子去吧

0
ifsc01
ifsc01

最近在看python,感觉学习和学习别的语言不一样

0
四哥
四哥

喜欢python的简单,喜欢perl的灵活,要是综合一下就好了。

0
yak
yak

用ruby吧,从根上面向对象,足够简单,到处是perl的影子,yield和mixin足够灵活,主要还是太年轻,缺乏类库的积累

返回顶部
顶部