Tim Peters去世:Python之禅作者离世,Guido发文悼念
向 Tim Peters 致敬!
「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)。
这 19 句话影响过无数程序员,写它们的人叫 Tim Peters。
当地时间 11 月 11 日,Python 之父 Guido van Rossum 在 Python 官方社区论坛公布了一则令人难过的消息:Tim Peters 已于 2026 年 7 月 15 日离世,享年 74 岁。
Guido 在公告里写道:「很难准确估量 Tim 对 Python 的影响。他最为人熟知的作品可能是《Python 之禅》(PEP 20),但对我而言,早在那之前,他就已经是我的导师,也是 Python 语言设计上的合作伙伴。」
在 Guido 看来,Python 能走到今天这个样子,Tim Peters 功不可没。

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

一个程序员走了,可他写下的 19 句话,依旧每天出现在无数开发者的终端里。
Python 还没发布多久,他就成了 Guido 最重要的技术伙伴
Tim Peters 是美国人,来自威斯康星州密尔沃基。碰 Python 之前,他在计算机行业已经攒下相当厚的经验。
他先是在 Cray Research 做超级计算机编译器开发,后来又到 Dragon Systems 参与语音转文字软件。
这两段经历,为他日后参与 Python 设计铺了路。
20 世纪 90 年代初,经共同朋友 Steve Majewski 介绍,Tim 头一回听说 Guido van Rossum 正在做的 Python。
那会儿 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年,他为 Python 列表设计了一套全新的排序算法并引入 Python,这套算法后来被叫作 Timsort。
它把归并排序和插入排序的特点揉在一起,属于混合排序算法。和某些传统排序算法不一样,Timsort 会把真实数据里本来就存在的有序片段用起来。
现实中的数据很少完全随机,往往已经有部分区间是有序的。
Timsort 先找出这些自然形成的有序片段,再靠合并操作把排序做完,处理真实世界的数据时性能表现不错。它也因此成了 Python 排序实现里的一块重要拼图。
更关键的是,Timsort 的影响没有停在 Python 生态里。
再往后,Java 标准库和 Android 也把这套算法用了进去。换句话说,不少平时不写 Python 的开发者,日常开发中也可能间接用上了 Tim Peters 的成果。
Timsort 之外,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 官方论坛的悼念帖里,开发者 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 致敬!