Loading...

PYTHON 悖论

Original

2004年8月

在最近的一次 演讲 中,我说了一些让很多人感到不快的话:你可以找到更聪明的程序员来参与 Python 项目,而不是 Java 项目。

我并不是说 Java 程序员很笨。我是说 Python 程序员很聪明。学习一门新的编程语言需要付出很多努力。而人们学习 Python 不是因为它能让他们找到工作;他们学习它是因为他们真的喜欢编程,并且对自己已经掌握的语言不满意。

这使得他们正是公司希望雇佣的那种程序员。因此,我将称之为 Python 悖论:如果一家公司选择用一种相对冷门的语言来编写软件,他们将能够雇佣到更优秀的程序员,因为他们只会吸引那些愿意花时间去学习它的人。对于程序员来说,这个悖论更加明显:如果你想找到一份好工作,学习的语言是人们并不是仅仅为了找工作而学习的语言。

到目前为止,只有少数公司足够聪明,意识到这一点。但这里也存在一种选择:它们正是程序员最想为之工作的公司。例如,谷歌。当他们招聘 Java 程序员时,他们也希望有 Python 经验。

我有一个朋友,他几乎掌握所有广泛使用的语言,他在大多数项目中使用 Python。他说主要原因是他喜欢源代码的样子。这似乎是选择一种语言而非另一种语言的一个轻率的理由。但这并不像听起来那么轻率:当你编程时,你花在阅读代码上的时间比写代码的时间要多。你像雕塑家处理粘土一样处理源代码。因此,一种让源代码看起来丑陋的语言对一个严格的程序员来说是令人恼火的,就像满是块状物的粘土对雕塑家一样。

提到丑陋的源代码,人们当然会想到 Perl。但 Perl 的表面丑陋并不是我所指的那种真正的丑陋。真正的丑陋不是严酷的语法,而是必须用错误的概念来构建程序。Perl 可能看起来像一个在咒骂的卡通角色,但在某些情况下,它在概念上超越了 Python 案例

到目前为止,当然这两种语言都是 移动 的目标。但它们与 Ruby(以及 Icon、Joy、J、Lisp 和 Smalltalk)共同的特点是,它们是由真正关心编程的人创造和使用的。而这些人往往是做得好的。