Python悖论
2004年8月
在最近的一次演讲中,我说了一些让很多人不高兴的话:你可以让更聪明的程序员在Python项目上工作,而不是在Java项目上工作。
我这样说并不是指Java程序员很笨。我的意思是Python程序员很聪明。学习一门新的编程语言需要很多工作。人们学习Python并不是因为它能给他们带来工作;他们学习它是因为他们真正喜欢编程,并且对已经知道的语言不满意。
这使他们成为公司应该想要雇佣的那种程序员。因此,由于缺乏更好的名称,我称之为Python悖论:如果一个公司选择用相对冷门的语言编写其软件,他们将能够雇佣到更好的程序员,因为他们只会吸引那些足够关心它而去学习它的人。而对于程序员来说,这个悖论更加明显:如果你想找到一份好工作,应该学习的语言是那些人们不仅仅是为了找工作而学习的语言。
到目前为止,只有少数公司足够聪明地意识到了这一点。但这里也有一种选择在进行:它们正是程序员最想为之工作的公司。例如,Google。当他们发布Java编程工作时,他们也希望有Python经验。
我的一位朋友几乎知道所有广泛使用的语言,他在大多数项目中都使用Python。他说主要的原因是他喜欢源代码的外观。这可能是选择一种语言而不是另一种语言的轻率理由。但并没有听起来那么轻率:当你编程时,你花在阅读代码上的时间比写代码的时间多。你推着源代码团,就像雕塑家推着粘土团一样。因此,一种让源代码看起来丑陋的语言对于要求精确的程序员来说是令人发疯的,就像充满疙瘩的粘土对于雕塑家一样。
提到丑陋的源代码,人们当然会想到Perl。但Perl表面的丑陋并不是我指的那种。真正的丑陋不是看起来刺耳的语法,而是不得不用错误的概念来构建程序。Perl可能看起来像一个骂人的卡通人物,但在某些情况下,它在概念上超越了Python。
到目前为止,无论如何。当然,这两种语言都是不断发展的目标。但它们与Ruby(以及Icon、Joy、J、Lisp和Smalltalk)共享一个事实:它们都是由真正关心编程的人创建和使用的。而那些往往是做得好的人。
如果你喜欢这篇文章,你可能也会喜欢黑客与画家。