首页 > 开源 > 写《Python 之禅》的那个人走了

写《Python 之禅》的那个人走了

OSChina资讯 2026-11-13 17:02 14 阅读 查看原文

Python 创始人 Guido van Rossum 在 Python 官方论坛发了一条帖子,标题只有一行:In Memoriam: Tim Peters 1952–2026。

「我非常悲痛地宣布,Tim Peters 已于今年 7 月 15 日去世。」

底下第一条回复是 Guido 自己补的:「欢迎分享你们自己的 Tim 逸事,我没能覆盖他做过的所有事。」

他做的最有名的一件事,是一首诗

如果你写过 Python,你大概见过这个:

import this The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.

这 19 条准则,是 Tim Peters 写的。它后来成为 PEP 20,写进 Python 的官方文献,也被做成了解释器里的彩蛋——输入 import this 就会打印出来。

但 Guido 在悼文里说得很清楚:《Python 之禅》只是他最出名的那件作品。

「对我而言,他早在之前就已经是我的良师益友,也是这门语言的共同设计者之一。」

Tim Peters at PyCon 2003

他做的第一件事,是说服 Guido 改语言

Tim Peters 在 Python 首次发布后不久就找到了它。他做的第一件事,是说服 Guido 让 Python 支持整数和浮点数之间的混合运算。

理由是:大多数用户会期待它就该这样工作。

Guido 的原话是「他从未停止贡献」。这件事值得单独拎出来说——一个刚接触这门语言的人,第一件事是去改它的类型系统,而作者被说服了。这在早期 Python 的开放氛围里才有可能发生。

Timbot 这个名字

在 Python 邮件列表上,Tim Peters 以另一个名字闻名:Timbot。

Guido 的解释是,他对用户问题的回答「数不胜数、细致且有耐心」。这些回答里总带着一点克制的幽默——他习惯用 <wink> 或 <0.5 wink> 标注——并且经常自称是在「channeling Guido」(转述 Guido 的意思)。

同时他也参与大量深度的设计讨论。Guido 说,Tim 凭借扎实的数学功底和编译器构建经验,「让我或其他人免于一些令人尴尬的设计错误,或者解决了深层问题」。

更重要的可能是他定下的调子。Guido 写道:Tim 为早期核心开发确立了基调——从不直接否定别人,而是详细解释为什么某件事能成或不能成。

一位社区成员在回复里印证了这点:

我曾有幸和 Tim 讨论过非常多话题,他在技术讨论里的输入一直是我高度重视的。他从不会把你当傻子,从不草率地否定你的顾虑,总是回答并解释。

Timsort:一个到今天还在用的算法

2002 年,Tim Peters 给 Python 带来了 Timsort。

这是一个混合排序算法,基于更早的「galloping」搜索方法。它从 Python 2.3 开始成为默认排序实现,后来被 Java 和 Android 采用,也被 V8 JavaScript 引擎用上——就是 Chrome、Chromium 和 Node.js 底下那个引擎。

有个细节值得知道:从 Python 3.11 开始,Timsort 的原始合并策略被 Powersort 取代了。算法还在,但内核换过。

研究者 Vincent Jugé 认为,Timsort 在真实数据上的高性能,重新激起了学界对排序算法的兴趣。

他留下的其他东西

doctest 和 timeit 两个标准库模块,也是他写的。前者让文档里的示例代码能直接当测试跑,后者是 Python 里测性能最常用的工具。

他给《Python Cookbook》写过算法那一章。

2001 到 2014 年,他在 Python 软件基金会董事会任职。2017 年获得 PSF 杰出服务奖。

他还是 Stack Overflow 上排名很高的贡献者,主要回答 Python 相关问题。

2002 到 2003 年,受 Paul Graham 那篇《A Plan for Spam》启发,他和 Gary Robinson 一起做了 SpamBayes——21 世纪初那场垃圾邮件危机里,少数真正管用的贝叶斯过滤器之一。

他工作过的地方包括 Cray Research、Kendall Square Research、Dragon Systems、BeOpen 和 Zope Corporation。

他最后一句话

论坛里有人贴出了 Tim Peters 生前最后一帖的结尾:

Which is all a long-winded say of saying the real world is more complicated than our clean abstractions hope for.

(说了这么多,其实就想说一句:真实世界比我们那些干净的抽象所期望的要复杂。)

一个写了《Python 之禅》的人,最后留下的是这么一句。不是格言,是让步。

Guido 的悼文最后一行写的是:「Python-would-not-be-what-it-is-today-without-Tim-ly y'rs」(没有 Tim,Python 不会是今天这个样子——此致)。

他自己造了个词,把这句话嵌进了签名。


Tim Peters 生于 1952 年 3 月 26 日,威斯康星州密尔沃基;逝于 2026 年 7 月 15 日,威斯康星州阿什兰,享年 74 岁。

参考来源