Flask作者的十年顿悟:为什么在科技圈,有些事必须慢慢来?

我跑科技新闻这十年,见过太多宣称要“一秒颠覆世界”的发布会PPT。在这个ChatGPT几乎每周都在刷新人类认知的疯狂时代,速度似乎成了整个行业唯一的政治正确。
但今天早上,当我读到 Flask 框架的创造者 Armin Ronacher(开源界大名鼎鼎的 mitsuhiko)的最新博文《有些事情急不得》(Some things just take time)时,我久违地感到了一种被安抚的平静。没有焦虑,没有吹嘘,只有一个顶级工程师对技术演进最朴素的自白。
如果你写过 Python,你大概率享受过 Flask 带来的丝滑体验,但也必然经历过被 Python 包管理(Package Management)折磨到想砸键盘的深夜。依赖冲突、幽灵环境、永远在转圈的 pip install……这几乎成了每一代数据科学家和程序员的集体创伤。
为了拔掉这根刺,Armin 曾一怒之下用当红炸子鸡 Rust 语言写了新工具 Rye,试图快刀斩乱麻地一统江湖。但在最新的文章里,这位技术大佬承认了一个看似泄气、实则极其深刻的现实:底层秩序的重建,靠的根本不是某个天才的灵光一闪,而是漫长的、甚至有些丑陋的泥泞摸索。
为什么重写代码救不了世界?
我们往往有一种错觉:只要换一种更牛的语言(比如性能爆表的 Rust),重写一遍老旧的系统,所有遗留问题就能迎刃而解。这几年开源圈疯狂的“Rust 重写一切”运动就是最好的写照。
但 Armin 揭开了一个残酷的真相:阻碍 Python 包管理变好的,从来都不是代码跑得不够快,而是背后错综复杂的历史包袱和缓慢的标准化进程。从 PEP 517 到 PEP 660,那些枯燥、晦涩、甚至经常引发无休止争论的标准协议,花了开源社区整整十年的时间,才慢慢让原本如同军阀混战的 Python 生态达成了一丝共识。
最近爆火的极速包管理工具 uv(由 Astral 团队开发)能在一夜之间大杀四方,甚至让 Armin 愿意放手自己的项目去支持他们,不仅是因为 Rust 语言的红利,更是因为他们幸运地站在了过去十年无数人踩过的坑上。没有前人那些缓慢、痛苦的试错,没有那些在邮件列表里吵了几年的枯燥协议,再快的代码也跑不出历史的迷宫。
给“唯快不破”的科技圈泼点冷水
读完这篇文章,我立刻联想到当下的 AI 狂热。
每天都有几百个套壳 AI 应用冒出来,大厂们拼了命地赶进度,生怕晚了一天就被时代抛弃。可是,真正支撑起这场 AI 革命的底层基建呢?
CUDA 生态的建立,黄仁勋和英伟达熬了快十五年,期间承受了无数华尔街的冷眼;Transformer 架构的灵光乍现背后,是神经网络领域几十年的冷板凳。我们总是容易对聚光灯下的一夜暴富顶礼膜拜,却吝于给那些在暗处修桥铺路的人多一点耐心。
Armin 的这篇随笔,其实给了所有技术人一个极好的心理按摩:不要因为进度缓慢而焦虑。有些问题的复杂度,注定了它就是需要一代人的时间去消化、去迭代、去等待大环境的成熟。
就像酿酒,你当然可以在流水线上用勾兑酒精瞬间制造出微醺的错觉,但真正能流传下去的好酒,只能交给时间和耐心。科技世界亦是如此。