1989年圣诞节,荷兰程序员吉多·范罗苏姆(Guido van Rossum)开始写Python时,绝对想不到这个"业余项目"会在2024年成为Stack Overflow调研中,每3个开发者就有1个在用的语言。更魔幻的是,它最初的设计目标——让代码像英语一样好读——在AI代码生成时代反而成了杀手锏。

01 | 一个被嘲笑的"慢语言",怎么活到了现在

01 | 一个被嘲笑的"慢语言",怎么活到了现在

Python的早期口碑并不好。2000年代初,Java程序员看它像看玩具:没有类型声明、运行速度慢、全局解释器锁(GIL,Global Interpreter Lock)让多线程成了笑话。2005年YouTube选Python做后端时,技术圈普遍反应是"他们迟早要重写"。

但YouTube没重写。谷歌2006年收购YouTube后,反而把Python用得更深——App Engine直接支持Python作为首选语言。转折点发生在2012年前后:数据科学井喷,NumPy、Pandas、Matplotlib这套工具链让Python成了Excel超级用户的逃生舱。一位从金融转行的开发者回忆:"我用两周Python替换了三个月的VBA宏,老板以为我加班了。"

真正让Python封神的不是数据科学,而是AI。2016年TensorFlow开源,2019年PyTorch崛起,两大框架都选Python当"母语"。这不是偶然:AI研究需要快速实验,Python的"写一行跑一行"比C++的编译-崩溃-调试循环快一个数量级。OpenAI的GPT系列、Stable Diffusion、Midjourney——底层可能有C++,但用户接触的接口全是Python。

2023年的一个数据很说明问题:Hugging Face上的模型仓库,Python代码占比超过87%。

02 | "简单"是设计,不是妥协

02 | "简单"是设计,不是妥协

范罗苏姆设计Python时有个执念:代码的阅读频率远高于编写频率。这听起来像废话,直到你维护过别人写的Perl。Python强制缩进不是刁难新手,而是消灭"花括号放哪"的宗教战争;不用声明类型不是偷懒,而是让代码像伪代码一样一眼看懂。

这种设计在AI时代产生了意外后果。大语言模型(LLM,Large Language Model)生成代码时,Python的语法一致性让它错误率更低。GitHub Copilot的2023年报告显示,Python代码的接受率比JavaScript高12%,比C++高23%。换句话说,AI写Python更不容易翻车。

但简单不等于简陋。Python的标准库被戏称为"自带电池"——处理CSV、发邮件、建网站、搞并发,开箱即用。一位参加黑客马拉松的产品经理描述场景:"队友还在配Node环境,我的Flask服务已经跑起来了。3小时demo,环境配置占一半时间?不存在的。"

这种"即拿即用"的特性,让Python成了非程序员的第一门语言。生物学家用BioPython分析基因序列,记者用BeautifulSoup爬数据,交易员用Zipline回测策略。Stack Overflow 2024年调研显示,Python是"非专业开发者"使用率最高的语言,占比31%,远超第二名JavaScript的19%。

03 | 速度劣势,被一种奇怪的方式解决了

03 | 速度劣势,被一种奇怪的方式解决了

Python的慢是原罪。同样是算斐波那契数列,C++比Python快100倍不是新闻。但工业界找到了三条绕过GIL的路:

第一条是"把瓶颈扔给C"。NumPy的矩阵运算底层是Fortran,TensorFlow的图执行转成了C++。Python成了胶水,黏合高性能组件。一位机器学习工程师打了个比方:"Python是导演,C++是特技演员。观众看到的精彩场面,不一定出自导演之手。"

第二条是PyPy,一个用Python写的Python解释器。通过即时编译(JIT,Just-In-Time compilation),部分场景能接近C速度。2019年后,PyPy的兼容性大幅提升,但生态碎片化让它没能成为主流。

第三条最狠:硬件跟着Python走。英伟达的CUDA(Compute Unified Device Architecture,统一计算设备架构)生态、Google的TPU(Tensor Processing Unit,张量处理单元)优化,默认支持的都是Python接口。算力太贵,没人愿意为了10%的性能提升放弃开发效率。2023年,Google DeepMind的AlphaFold论文公开时,复现者发现官方代码就是Python——虽然核心算法用JAX编译成了GPU指令。

一个语言的速度劣势,被整个行业的硬件倾斜抹平了。这在计算机史上不多见。

04 | 新手选Python,到底在选什么

04 | 新手选Python,到底在选什么

回到最初的问题:为什么推荐Python作为第一门语言?

不是因为"简单"这个模糊的标签。真正的原因是反馈循环足够短。写print("Hello")立刻看到输出,改一行爬虫代码马上拿到数据,调一个模型参数瞬间看到准确率变化。这种即时反馈对新手的心理建设至关重要——编程从"黑箱试错"变成了"可见的因果"。

也因为迁移成本足够低。Python的语法逻辑渗透进了现代编程的各个角落:JavaScript的async/await借鉴了Python,Rust的迭代器设计参考了Python,连Excel都加了Python支持。学会Python,不是学会一个工具,是拿到了一张理解其他语言的地图。

更现实的因素是就业市场的"漏斗效应"。2024年LinkedIn数据显示,"AI工程师"岗位中,要求Python的占91%,要求C++的占34%,两者都要的占28%。先学Python,进可攻AI研发,退可做数据分析、自动化运维、Web开发——这些岗位的Python需求都在增长。

但Python不是万能药。嵌入式开发、高频交易、操作系统内核,这些场景Python仍然缺席。一位从Python转向Rust的系统工程师说:"Python让我入行,Rust让我理解计算机真正在干什么。两阶段学习,比硬啃C++入门合理得多。"

05 | 一个反直觉的观察

05 | 一个反直觉的观察

Python社区有个长期被忽视的特点:它可能是大型开源项目里,"企业控制度"最低的主流语言。范罗苏姆2018年卸任"终身仁慈独裁者"后,Python改由5人指导委员会治理,决策公开透明。对比之下,Java被Oracle收购后诉讼不断,JavaScript的TC39委员会由几大浏览器厂商主导。

这种"去中心化"让Python的演进更慢——Python 3.12的优化等了5年——但也更难被单一公司绑架。2020年Python 2正式停止维护时,社区花了10年过渡,没有分裂成两个方言。这种保守,在基础设施层面反而是优势。

范罗苏姆去年在一次播客中回忆:"如果有人1991年告诉我,30年后Python会用来训练神经网络,我会觉得他们疯了。"现在的问题是:下一个30年,什么技术会让今天的我们显得同样短视?