返回首页

Brett Cannon:通往核心 Python 的道路

Brett Cannon 向 Guido van Rossum 讲述 2000 年发现 Python、对 strptime 的贡献以及通过 python-dev 进入核心的经历。涵盖早期社区、PyCon 2003 以及演变为 PSF 员工开发者。

从学生到核心 Python:Brett Cannon 的故事
Advertisement 728x90

布雷特·坎农如何成为Python核心开发者:从学生到关键贡献者

Python最具影响力的几位核心开发者之一布雷特·坎农,在接受创始人吉多·范罗苏姆的专访时,分享了自己从初识Python到成长为关键贡献者的完整历程。2000年秋季,他正为计算机科学专业入学考试做准备,急需一门工具语言来掌握面向对象编程(OOP)。Python凭借其简洁语法与交互式REPL环境脱颖而出——尤其对比他此前使用的C语言,优势一目了然。

初探Python

彼时,坎农正在攻读哲学学士学位,同时自学计算机科学。他熟悉C语言,也浅尝过Pascal——但Pascal编译器频频报错令他倍感挫败。为备战加州大学伯克利分校CS 61A课程,他亟需扎实掌握面向对象编程。当时主流搜索引擎如AltaVista向他推荐:“Python是绝佳的入门语言。”

他通读了Python官方文档和马克·卢茨所著《Learning Python》。尽管OOP并未出现在入学考试中,Python却深深吸引了他:他开始用它编写脚本、完成大学作业。从C转向Python的过程中,交互式REPL成为他快速实验与高效学习的“利器”。

Google AdInline article slot

接触Python前掌握的主要语言:

  • C(主力)
  • Pascal(少量)

以“食谱”叩开社区之门

2001年,ActiveState推出《Python Cookbook》——一个协作式代码片段共享平台。坎农提交了一个简洁、兼容Windows平台的strptime实现方案,因为当时标准库在该平台上尚不支持该功能。亚历克斯·马泰利将这一方案收录于首版奥莱利《Python Cookbook》中。

该方案持续演进:最初依赖系统本地化设置,后经坎农大幅简化。2002年5月——Python 2.3发布后不久——他致信马泰利,询问能否将其纳入标准库。马泰利建议他联系python-dev邮件列表,即核心开发者的交流主阵地。

Google AdInline article slot

弗朗索瓦·皮纳尔协助优化了补丁。同年6月,坎农正式提交提案;7月,time.strptime便被合并进代码仓库。他自此持续订阅并深度参与该列表讨论。

阅读python-dev邮件列表,完成首次代码提交

2002年8月,坎农开始每周撰写python-dev邮件列表摘要,接替安德鲁·库克林此前承担的角色。这些摘要既是自我学习的工具,也是公开提问、建立信任的窗口。他坚持撰写了两至三年——贯穿整个博士阶段。

python-dev邮件列表涵盖:

Google AdInline article slot
  • 新特性提案
  • Bug报告与修复补丁
  • PEP(Python增强提案)讨论
  • 向后兼容性问题

本科毕业后,他利用一年空档期打磨简历,同时持续为Python贡献代码。首个strptime提交带来的成就感,成为他持续投入的强大动力。

早期核心开发者社区生态

2002至2003年间,Python核心团队规模尚小——约20至50人,其中活跃成员仅半数左右。关键人物包括:

  • 马丁·冯·洛维斯
  • 尼尔·诺维茨
  • 马克-安德烈·伦贝格
  • 安德鲁·库克林
  • 亚历克斯·马泰利
  • 蒂姆·彼得斯
  • 雷蒙德·赫廷格
  • 格雷格·斯坦
  • 杰克·詹森
  • 巴里·华沙

坎农加入团队的时间恰逢2003年美国PyCon大会前夕(华盛顿特区举办)。彼时Python仍属小众语言——常被戏称为“靠缩进说话的语言”。代码变更直接提交,设计争议全靠邮件往来解决。PyCon吸引的是一群充满热忱的志愿者——多数人另有全职工作。

早期脚本存档平台《帕纳索斯宝库》(Vaults of Parnassus)早于PyPI诞生。

迈向Python 3及重大贡献

坎农深度参与importlib模块开发、Python 2→3迁移工程、文档体系重构及PEP撰写。他主导移除了函数签名中的元组参数解包(一项Python 3关键变更)。2007年PyCon大会上,凯-平·叶提出异议,但该变更最终获准落地。

凯-平·叶主导开发了pydoccgitbinspect及异常链(exception chaining)等核心工具。

早期挑战在于时间有限且完全依赖志愿者投入。坎农积极倡导企业赞助,并成功推动落实。如今,Python软件基金会(PSF)已聘用全职工程师:卢卡什、佩特尔、谢尔盖与塞思(负责安全及Alpha-Omega项目)。

真正起决定性作用的因素

  • 始于一道“食谱”strptime贡献让他数月内便跻身核心团队。
  • 摘要即敲门砖:主动整理python-dev邮件列表内容,助他迅速获得可见度与信任。
  • 社区体量小:2002年仅约20名活跃贡献者,个人影响力立竿见影、触手可及。
  • 志愿先行文化:持续贡献多年后,才迎来正式雇佣关系。
  • 生态演进:从边缘小众项目,成长为拥有专业工程团队支撑的成熟技术生态。

— Editorial Team

Advertisement 728x90

继续阅读