Python之禅作者Tim Peters去世,Guido van Rossum发文悼念
学过Python的朋友知道,当你输入import this时,会看到这样一首19行诗。 「优美胜于丑陋,显式胜于隐式,简单胜于复杂......」这19句箴言写尽了编程之美,被后人称为《Python之禅》。 刚刚,Python之父Guido van Rossum宣布,写下这首诗的Tim Peters已经离开人世。 「在《
敲过import this的人,都见过屏幕上跳出来的那首19行小诗。

「优美胜于丑陋,显式胜于隐式,简单胜于复杂......」19句箴言把编程之美说透了,后来被人称作《Python之禅》。而就在刚刚,Python之父Guido van Rossum对外公布,写出这首诗的Tim Peters已经离世。

「在《Python之禅》之前,他就已经是我的导师,也是这门语言的共同设计者。」
默哀!
Tim发明的算法,此刻仍在无数设备上运行
「Tim是继Guido之后Python的第二个真正意义上的用户。」这话不假。《Python之禅》诞生之前,他就已经是Python最早期的核心开发者之一,包括Guido在内的许多人都受他影响。消息传开后,Python社区的核心开发者们陆续发文悼念。
Python Web框架Pyramid的主要作者Chris McDonough专门写了长文追忆Tim。他提到,Guido非常依赖Tim,而Tim不再担任日常核心开发人员之后,Python的复杂性急剧上升,这绝非偶然。
他笔下的文字带着幽默和友善,积极得恰到好处,偶尔还透出一丝狡黠的黑色幽默。

核心开发者Chris Angelico记得,自己和Tim讨论过的技术问题数不清:「他从不把你当傻瓜,也不会随便否定你的疑问,总是认真回答、耐心解释。」
核心开发者Neil Schemenauer感慨,Tim花掉数以千计的小时去帮别的开发者,既没图过钱,也没图过个人荣誉。

他引用《马太福音》里的一句话来形容Tim:凭着他们的果子,就可以认出他们来。
说得再准确不过。Tim走了,果子却已经结满全世界——「任何在1995年至2010年间启动的Python项目都带有Tim的文化印记。」
这些果子当中,名气最大的当属Timsort排序算法。没错,Timsort里的那个Tim,指的就是Tim Peters本人。
2002年,他为Python设计了这套排序算法。它的本事在于利用数据里已有的顺序,高效地把序排完,现实世界中那些部分有序的数据,恰好是它最擅长的场景。
再后来,这套算法从Python走了出去,Java、Android等平台都用上了。
Tim手上的绝活不止这一件。doctest能把文档里的代码示例直接跑起来做测试,看看示例写得对不对;difflib则用来比对两段文本,找出哪些内容被加了、删了或改了。
Python底层的内存管理、垃圾回收、字典实现等机制,同样留着Tim的痕迹。Guido回忆,Tim接触Python没多久,就说服自己支持整数(int)与浮点数(float)的混合运算。
此后许多年,Tim一直在深深影响着他。
Tim与Python的结缘往事
1952年,Tim Peters在美国威斯康星州出生。在成为Python社区传奇人物之前,他给超级计算机写过编译器,也参与过Dragon Systems的语音识别软件开发。

△
1991年,朋友一封邮件给他介绍了一门刚问世不久的编程语言——Python。Tim很快来了兴趣,跟发明者Guido通起信来,一边上手试用,一边讨论这门语言该怎么设计。那个时候,Python还停在0.9.1版本。
此后他便全身心投入Python的开发。在当时的开发者社区里,Tim的名气越来越大,慢慢成了传奇。别人提的问题再复杂、再小白,他都能回上一大篇,又长又耐心,讲得还细。
回答问题又多又快又好,他因此得了个外号:Timbot,意思是Tim牌机器人。

△
1998年,Python核心开发者Barry Warsaw在“Tim大阴谋论起源”的讨论中专门写了一封邮件,标题就叫《关于Tim的真相》。信里说,大家认识的Tim Peters压根不存在!「所谓的Tim,只是一段古老的AI程序,负责自动扫描邮件列表、回答开发者的问题。」

△
他还补了一句:不然你们自己想想,你们当中谁真的见过他?Guido当然会说自己见过,可我没看到任何证据。

△
社区就是这样的氛围,《Python之禅》也在其中慢慢酝酿。1999年6月,Python社区又吵了起来。
有开发者抱怨,大家成天忙着争论Python该怎么改,却很少谈怎么把这门语言用好。于是有人提议,不如请Guido和Tim合写一份《The Python Way》,用十几条简短规则把Python的设计哲学归纳出来。
这次Tim照样秒回。他说,「这种事情当然应该交给Guido来做啦,不过嘛,如果是Guido,他大概会从下面这个提纲开始。」优美胜于丑陋。
显式胜于隐式。
简单胜于复杂。
……
就这样,Tim一口气替Guido写了19条箴言。为什么数目不零不整?按Tim的说法,最后一条得留给Guido自己写。
是的,直到今天也没人知道,那天Tim的第20条原本会写什么。有人猜第20条是“留白很重要”(Significant whitespace),也有人猜,第20条原则就是“没有第20条原则”。

△

△
2020年,Barry Warsaw问起这首诗是怎么来的,Tim说,那是他在电视播职业摔跤、插广告的空档,一边啃火腿三明治一边随手写的。后来Barry Warsaw自己弹吉他、贝斯、键盘,还亲自唱了一版,把这首诗做成了歌。
前几年有个刚入门的Python用户发问:「为什么给线程传参数时,括号里明明只有一个变量,后面却非加一个逗号?」Tim亲自回帖讲了单元素元组的语法,讲完又向Python官方提了文档改进请求,盼着以后能把这事说明白。
提问的人连声道谢。Tim反过来安慰对方,单元素元组这种写法本来就是Python里最怪的语法之一,不必担心往后天天碰上这么古怪的东西。
大家喜欢Tim,不是没来由的。还有一回,同事找Tim帮忙,说有个错误跑六次才冒一次。Tim笑着反问:「那你在源代码里搜过6吗?」三十多年里,他就这样泡在社区,替人收拾各种疑难杂症。
直到2024年。Python软件基金会改了章程,社区治理也起了争议,他和当时的管理者吵得很凶。
再往后,Python指导委员会认定他在相关讨论中屡次违反社区行为准则,停了他三个月的核心开发者资格,论坛账号也受了限制。
这事在社区里当时闹得很大。Tim不认处罚的依据和程序,专门开了个公开博客,一条一条回应那些指控。博客页脚留着一句话:「Question everything. Love everyone.」
质疑一切,爱所有人。
三个月后Tim回到Python社区,照旧参与技术讨论。2026年7月8日,他在社区留下的最后一篇帖子,聊的还是优先队列、数据结构和路径搜索算法这些正经题目。
一大段技术分析写到末尾,他感慨,「说了这么多,无非是想说,现实世界远比我们期待的那些简洁漂亮的抽象模型更加复杂。」七天之后,Tim Peters离开了这个世界。

△
One More Thing
Tim去世后,不少程序员把《Python之禅》又翻了出来。Hacker News上有人说,自己当年还把它打印出来贴在办公室墙上,大家差不多每周都要引用一回。「最初只是个玩笑,后来却成了我们文化中相当重要的一部分。」
也有人讲,刚学编程那会儿就读过《Python之禅》,当时没读懂。此后好些年,隔一阵重读一遍,总能发现自己又多明白了几句。
讨论没停在怀旧上,很多人开始念叨当年那个Python。
有人直接指出,那句「应该有一种,最好只有一种,显而易见的解决方法」,放在如今的Python身上已经不太成立了。
另一些人念叨的,是当年那个Python社区。
那时候,开发者们靠邮件列表聊天、抬杠、开玩笑。Tim 不一样,他肯花大把时间,认真回复那些素未谋面的程序员提的问题。
有网友说:
我很大程度上,是通过观察Tim,才学会了如何在互联网上与人相处。
如今Tim不在了,但他给这个世界的爱,或许还在延续……