一切的开始:阿姆斯特丹的灵感
1980年代,在荷兰 CWI 研究中心,计算机极其昂贵。编程语言的设计优先考虑机器效率,而非开发者的体验。
CWI 曾开发一种名为 ABC 的教学语言,旨在易学易用。Guido van Rossum 是团队成员。虽然 ABC 项目最终被取消,但它留下了宝贵的遗产。
在后来的项目中,Guido 发现使用 C 语言效率低下。他渴望一种介于 C 和 Shell 之间,并且比 Perl 设计更精良的语言。
Guido van Rossum
Python 之父
“1989年的圣诞假期,我决定利用空闲时间构建一种新的编程语言,它基于我在 ABC 项目中学到的原则。”
ABC 的遗产:缩进即结构
Python 从 ABC 借鉴了最重要的特性:使用缩进来组织代码块,这使得代码天然具有高度可读性。
Python 诞生
Guido 开始了他的“业余项目”,并以英国喜剧团体 Monty Python 命名。
开源发布
Python 首次在 Usenet 上公开发布。在互联网早期,发布过程极其繁琐,源代码必须被分割成 21 个小块上传。
社区形成与 BDFL
Guido 移居美国。11月,举办了第一次 Python 研讨会,标志着社区的诞生。Guido 被赋予了“仁慈的终身独裁者” (BDFL) 的头衔。
PSF 成立与扩张
为保护 Python 的知识产权独立于任何公司(经历了 BeOpen 的动荡后),Python 软件基金会 (PSF) 成立。
同时,Python 开始在 Web 开发(如 YouTube)和科学计算领域崭露头角。
Python 之禅:设计的哲学
Python 的成功源于其设计哲学。1999年,早期贡献者 Tim Peters 将其总结为《Python之禅》(The Zen of Python)。
优美胜于丑陋
Beautiful is better than ugly.
明确胜于隐晦
Explicit is better than implicit.
简洁胜于复杂
Simple is better than complex.
可读性很重要
Readability counts.
实用性胜过纯粹性
Practicality beats purity.
应该有且最好只有一种显而易见的方法
There should be one obvious way to do it.
大分裂:Python 2 与 3 的漫长迁移
随着 Python 的流行,语言早期设计的缺陷(尤其是 Unicode 处理)变得明显。核心团队决定进行一次重大的、不向后兼容的升级。
2008年12月:Python 3.0 发布
团队天真地预计社区将在5年内完成迁移。事实证明,他们严重低估了 Python 2 的成功程度和代码存量。
这次迁移引发了巨大的争议和社区分裂。“如果代码能用,为什么要重写?” 这场“战争”持续了十多年,给社区带来了巨大负担。
迁移的转折点
- 社区开发了兼容工具(如 Six),帮助代码同时支持两个版本。
- Python 3.4/3.5 引入了引人注目的新特性(如 asyncio、类型提示)。
- Instagram (2017) 和 Dropbox 等大公司成功迁移数百万行代码,树立了信心。
- 2020年1月1日:Python 2 正式停止维护(EOL)。
Python 使用率的变迁(模拟数据)
Guido 的教训:“现在我们的口号变成了:永远不会有 Python 4。”
新浪潮:数据科学与人工智能的崛起
Python 能够成为全球最流行的语言之一,关键在于抓住了数据科学和人工智能的浪潮。
科学计算的基石
科学家们厌倦了昂贵的商业软件(如 MATLAB)。Python 凭借开源免费和强大的库(NumPy, Pandas, SciPy)成为科学计算的首选。
解决安装难题:Anaconda
Python 科学栈依赖复杂的 C/Fortran 模块,安装困难。Anaconda 发行版的出现,实现了一键安装,极大地推动了 Python 的普及。
AI 的接口语言
当机器学习兴起时,TensorFlow 和 PyTorch 等主流框架都选择了 Python 作为主要接口。Python 简洁的语法吸引了大量非专业程序员进入 AI 领域。
Python AI 生态堆栈(示意图)
治理的演变:从独裁到民主
近30年来,Python 一直在 BDFL 模式下运作。但随着社区的壮大,这种模式的压力也越来越大。
2018年:PEP 572 与“海象运算符”争议
一项关于引入新语法(:=
,因形似海象而得名)的提议引发了激烈的争论。尽管 Guido 最终批准了该提议,但过程中遭受的猛烈抨击让他心力交瘁。
“我不想再为 PEP 如此努力地战斗,却发现有这么多人鄙视我的决定……我累了,需要很长时间的休息。”
2018年7月,Guido 突然宣布辞去 BDFL 职务,并将决定权交给了社区。
仁慈的终身独裁者
指导委员会 (Steering Council)
Python 进入了一个新的民主时代,由选举产生的五人指导委员会负责决策。
社区的力量:多元与包容
“因语言而来,为社区而留。” (Come for the language, stay for the community.)
Python 的真正优势在于其社区文化。近年来,社区在提升多元化和包容性方面做出了巨大的努力。
PyLadies 与女性开发者的崛起
早期 Python 社区以男性为主。Jessica McKellar 等人通过积极推广和 PyLadies 组织,极大地提升了女性的代表性。
Guido 也主动提出亲自指导女性开发者,Mariatta Wijaya 响应号召,成为了核心开发者之一。
PyCon 女性演讲者比例的显著提升
超越想象的遗产
从一个圣诞假期的业余项目开始,Python 超越了所有人的预期。它改变了编程教育,推动了科学研究,支撑了全球商业,并站在了人工智能革命的最前沿。
Guido 的愿景——创造一种既强大又易读的语言——已经实现。Python 的故事证明了开源、社区合作和坚持设计原则的力量。
Python 的未来,将继续由全球数百万开发者共同书写。