Python之禅作者Tim Peters逝世,Guido发文悼念:没有他,就没有今天的Python
Guido van Rossum在Python官方社区论坛发布了一则消息:Tim Peters离开了人世,享年74岁。他在公告中写道:“很难准确估量Tim对Python的影响。他最为人熟知的作品可能是《Python之禅》(PEP 20),但对我而言,早在那之前,他就已经是我的导师,也是Python语言设计上的合作伙伴。”
消息传开后,Python社区的核心开发者们纷纷留下悼念。Hacker News上,有人重新在终端里敲下 import this,有人回忆自己第一次读到那19条箴言时的感受。一个程序员离开了,但他写下的句子,仍然每天出现在无数开发者的屏幕上。
Guido深夜发文:没有他就没有今天的Python
在Guido的表述里,Tim Peters的地位远不止“《Python之禅》的作者”这么简单。
- 他是继Guido之后,Python第二个真正意义上的用户;
- 他是Python早期最重要的设计伙伴,许多特性在进入语言之前,都会被两人从各个角度反复推敲;
- 他是Guido口中“凭借扎实的数学知识和编译器开发经验,帮助团队避免设计错误、解决棘手技术问题”的人。
Guido在公告结尾写下了一句略带私人语气的话:“Python-would-not-be-what-it-is-today-without-Tim-ly y'rs。”——没有Tim,就没有今天的Python。
Python Web框架Pyramid的主要作者Chris McDonough则写下长文追忆。他提到,Guido非常依赖Tim,“当他不再担任日常核心开发人员之后,Python的复杂性急剧上升绝非偶然”。在他看来,Tim的文字“充满幽默、友善和恰到好处的积极,还夹杂着一丝狡黠的黑色幽默”。
Timbot传奇:社区一度相信“Tim根本不存在”
1952年,Tim Peters出生于美国威斯康星州密尔沃基。在接触Python之前,他已经有相当丰富的行业履历:在Cray Research为超级计算机编写编译器,在Dragon Systems参与语音转文字软件研发——在那个年代,后者被普遍认为几乎不可能完成。
20世纪90年代初,经共同朋友Steve Majewski介绍,他第一次听说了Guido正在开发的Python。当时这门语言还停留在0.9.1版本,尚未正式发布。Tim很快产生了兴趣,不仅拿到了代码,还主动给Guido写邮件讨论语言设计。此后,他一头扎进Python的开发,成为最早的一批用户和贡献者。

在当时的开发者社区里,Tim逐渐成了一个传奇。无论别人提的问题多复杂、多“小白”,他都能写出长篇、耐心且细致的回复。由于回答得又多又快又好,他得了个外号——Timbot,“Tim牌机器人”。
1998年,核心开发者Barry Warsaw甚至在“Tim大阴谋论起源”的讨论中专门写了一封邮件,标题就叫《关于Tim的真相》:
大家认识的Tim Peters其实根本不存在!所谓的Tim,只是一段古老的AI程序,负责自动扫描邮件列表、回答开发者的问题。
不然的话你们自己想想,你们之中有谁真的见过他吗?当然了,Guido肯定说自己见过,但我没看见任何证据。
核心开发者Chris Angelico也回忆,自己曾与Tim讨论过无数技术问题:“他从不把你当傻瓜,也不会随便否定你的疑问,总是认真回答、耐心解释。”
一口气写下19条箴言的那一夜
1999年6月,Python社区又吵起来了。有开发者抱怨,大家整天忙着争论应该怎样修改Python,却很少讨论如何把这门语言用好。于是有人提议:不如请Guido和Tim一起写一份《The Python Way》,用十几条简短规则总结Python的设计哲学。
这次又是Tim光速回应。他表示,这种事情当然应该交给Guido来做,不过嘛,如果是Guido,大概会从下面这个提纲开始:
- 优美胜于丑陋。
- 显式胜于隐式。
- 简单胜于复杂。
- ……
就这样,Tim一口气替Guido写完了19条箴言。这些句子后来被标准化为PEP 20,成为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.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
...

据称,《Python之禅》原本应有20条,但Guido至今没有按Tim的设想补上最后一条。Guido表示,缺失的第二十条是“Tim Peters的某个离奇内部笑话”。
这19条箴言本身也处处藏着幽默。比如“尽管实践胜于纯粹,但理论胜于空谈”之外,还有一条调侃Guido是荷兰人——用来提醒所有人:要理解并记住Python的语言规则,对除创造者之外的每个人来说都不容易。
Timsort仍在无数设备上运行
如果说《Python之禅》是最容易被普通开发者记住的贡献,那么Tim在代码层面的遗产同样影响深远。
2002年,他为Python列表设计了一种新的排序算法——Timsort。这个算法后来被Java和Android采用,至今仍在无数设备上运行。此外,Python底层的内存管理、垃圾回收、字典实现等机制,也都留下了他的印记。
而Tim对Python提出的第一个重要建议,就体现了其务实的技术风格。当时他认为,Python应该支持int与float之间的混合算术运算,因为大多数用户都会理所当然地认为这两种类型可以这样运算。Guido最终采纳了这个建议。这看似只是一个不起眼的细节,却成为两人长期合作的开端。
每天亮起的终端:开发者用import this送别
在悼念帖里,Guido写道:“Feel free to respond with your own Tim anecdotes. I could not cover everything he did.”(欢迎分享你们自己的Tim轶事,我无法覆盖他所做的一切。)
回应如潮水般涌来。有人晒出自己终端里刚刚运行 import this 的输出,有人贴出第一次读到“现在做胜于永不行动”时写在笔记里的批注,也有人只是留下一句简短的“默哀”。
从1991年那封介绍Python的邮件,到1999年一口气写下的19条箴言,再到2002年仍在无数设备上运行的Timsort——Tim Peters留下的东西,既有写在屏幕上的哲学,也有跑在芯片里的算法。
对一名Python开发者来说,纪念他的方式或许很简单:打开解释器,敲下那行 import this。