Python之禅作者Tim Peters逝世,Guido发文悼念:没有他,就没有今天的Python
「Beautiful is better than ugly.(优美胜于丑陋。)」 「Simple is better than complex.(简单胜于复杂。)」 「Now is better than never.(现在做胜于永不行动。)」 如果你是一名 Python 开发者,大概率对这些句子并不陌生。 只需要在
「Beautiful is better than ugly.(优美胜于丑陋。)」「Simple is better than complex.(简单胜于复杂。)」「Now is better than never.(现在做胜于永不行动。)」
对Python开发者来说,这几句话大概都不陌生。在Python解释器里敲一行import this,屏幕上就会跳出19条设计哲学,它们被称作「Python之禅」(The Zen of Python)。
写出这些句子的人,是程序员Tim Peters。无数程序员都受过这些话的影响。
当地时间11月11日,Python之父Guido van Rossum在Python官方社区论坛公布了一则悲伤的消息:Tim Peters已于2026年7月15日去世,享年74岁。
Guido在公告里写道:「很难准确估量 Tim 对 Python 的影响。他最为人熟知的作品可能是《Python 之禅》(PEP 20),但对我而言,早在那之前,他就已经是我的导师,也是 Python 语言设计上的合作伙伴。」
在Guido看来,没有Tim Peters,Python走不到今天这个样子。

Hacker News上,这则消息也引来大量开发者悼念。有人又把import this跑了一遍,有人回忆起自己头一回读到《Python 之禅》时的感受,还有人感慨,这些年一直在拿Tim留下的原则指导自己写代码。

一个程序员走了,可他写下的19句话,照旧每天出现在无数开发者的终端里。
Python 还没发布多久,他就成了 Guido 最重要的技术伙伴
Tim Peters来自美国威斯康星州密尔沃基,碰Python之前,他在计算机行业已经攒下相当厚的经验。他在Cray Research做过超级计算机编译器开发,也在Dragon Systems参与过语音转文字软件。这两段经历,给他后来参与Python设计铺了路。
20世纪90年代初,Tim经共同朋友Steve Majewski介绍,第一次听说Guido van Rossum正在做的Python。那会儿这门语言还在很早期的阶段。Tim很快来了兴趣,不光拿到了尚未正式发布的代码,还主动给Guido发邮件,聊语言设计上的各种问题。
后来接受采访时他回忆,自己当时用的版本大概是Python 0.9.1。从那以后,他很快成了Python最早一批用户和贡献者。
他给Python提的第一个重要建议,就带着务实的技术风格:Tim认为Python应当支持int和float之间的混合算术运算,理由很简单,大多数用户都会理所当然地觉得这两种类型能这么算。Guido最终采纳了。这看着只是个不起眼的细节,却成了两人长期合作的开头。
Guido 回忆说,Tim 数学功底深、编译器开发经验足,常加入 Python 的深层设计讨论,既帮团队绕开了一些设计上的坑,也处理了不少难啃的技术难题。
Python 之禅,影响了几代程序员
在Tim Peters留下的技术成果里,普通开发者最熟悉的,大概要算《Python之禅》。
1999年,这组设计原则出现在Python邮件列表中。它起初算不上严肃的语言设计规范,还带着几分玩笑色彩,不过社区很快就接受了它。
到了2004年,这些原则被正式收进Python增强提案PEP 20。
今天,在Python里执行下面这行:
- import this
就能看到完整内容:

有意思的是,19条原则并没有把话说全。
PEP 20特意给第20条留了位置,等Guido来补。可直到今天,这个位置还是空的。
这也成了Python社区流传多年的一个小玩笑。
一手打造Timsort,后来被Java、Android广泛采用
《Python之禅》之外,Tim Peters还有一项影响更深远的技术成果:Timsort。
2002年,Tim为Python列表设计了一套全新的排序算法,并把它引入Python。这套算法后来被命名为Timsort。
它把归并排序和插入排序的特点揉在一起,属于混合排序算法。和某些传统排序算法不一样,Timsort会充分利用真实数据里本来就存在的有序片段。
现实中的数据往往不是完全随机排列,可能已经有一部分区间是有序的。
Timsort能识别这些自然形成的有序片段,再靠合并操作把排序做完,处理真实世界的数据时性能不错。它也因此成了Python排序实现里的重要组成部分。
更值得一提的是,Timsort的影响没有停在Python生态里。
后来,Java标准库和Android也用了这套算法。也就是说,不少平时不写Python的开发者,日常开发中也可能间接用上了Tim Peters的成果。
Timsort之外,他还参与过Python多项底层功能的开发与完善。比如Python的内存分配器、循环垃圾回收机制、字典实现、浮点数对象以及数学模块等底层工作的优化,他都有深度参与。
在Python开发者看来,Tim不只是某项技术的创造者,更是一位能把已有实现打磨到足够可靠的人。
2017年,Python软件基金会把杰出服务奖颁给了Tim Peters,表彰他长期在Python技术和社区建设上的贡献。
2001年至2014年,他还担任Python软件基金会董事,连续13年参与基金会事务。
他最让人怀念的,或许是回答问题时的耐心
除此之外,Guido表示,Tim Peters在Python邮件列表上非常活跃,经常耐心回答用户提出的问题。
回答的数量实在太多,解释又往往非常细致,他甚至因此得了个绰号:「Timbot」。
不过,他给出的答复并非机器生成般生硬的技术文档。
Tim 爱开玩笑,邮件末尾常缀一个 <wink>,意思是自个儿正带着笑意说话。他还不时把自己的发言称作「代 Guido 发言」(channeling Guido)。
Python 社区成员 Chris McDonough 记得,自己刚接触这个社区时,对部分开发者流露的优越感颇感不适。Tim 给他的感觉却截然两样。
技术功底极深,Tim 却从不端架子。若事先不知道他的本事,单看外表,没准会当他是个摩托车发烧友或修理工——长长的灰发、浓密的胡子,穿着也随性,他还真在 Harley-Davidson 干过。

可一进技术讨论,他几乎总是当场最聪明的那位。更少见的是,别人问的问题再简单,他也不显不耐烦。

Chris 觉得,Tim 更愿意拿幽默和温和去化解冲突,发表技术意见之前也尽量把问题摸清楚。Chris 甚至说,自己后来做开源项目时会有意学 Tim 那一套,盼着技术讨论更友好,让更多人乐意参与。
留下来真正管用的,或许不只是那些代码,还有他教给其他开发者的那件事:怎么跟人一块写代码。
最后一次发帖,他还在聊技术
再往后,Tim Peters 不再像早些年那样高频参与核心开发,但 Python 社区的讨论里仍有他的身影。
Python 官方论坛的悼念帖中,开发者 Hugo van Kemenade 特意提到 Tim 今年 7 月 8 日发的最后一帖。帖文末尾,Tim 写道:
「Which is all a long-winded say of saying the real world is more complicated than our clean abstractions hope for.」(说了这么多,其实只是想表达,现实世界比我们所期望的那些简洁抽象要复杂得多。)

那句话后面,照例跟了个大家熟悉的微笑表情。
从早年在邮件列表里不厌其烦地讲技术问题,到晚年依旧泡在社区讨论中,这种带点幽默的表达方式几乎贯穿了他的整个 Python 生涯。
在 Hacker News 上,也有开发者说,自己虽从未与 Tim Peters 见过面,却从他的邮件和技术讨论里学到不少。有人感叹,他的文字技术洞察极深,读起来又始终平易近人。

Guido 在最后写道,“没有 Tim,就不会有今天的 Python。”
向 Tim Peters 致敬!