你要问为什么 OpenAI 用 Rust 重写,我只能说大厂有一群人热衷于用 Rust 重写凸显自身价值而不是产品需要。说到这就必须要推荐看一篇文章:《Why Engineers Can't Be Rational About Programming Languages》https://t.co/QGrVXaNeNH
核心主题是:
“你以为程序员讨论编程语言是在比较技术?不是。他们其实在保护自己的身份。”
作者 Steve Francia 是 Go 语言的产品负责人,Hugo、Cobra 的作者,在 Google、MongoDB、Docker 都当过高管。
Steve Francia 在 Google 工作时,一位 VP 向高层展示为什么下一个系统必须用 Rust 开发。理由之一是 Rust 易于构建和部署。
这话没错。但 Steve 认为 Go 在这方面更强——几乎秒级的交叉编译,单个静态二进制文件,而 Rust 的编译时间长得出名。如果真的是在做技术对比,怎么会漏掉这个?
Steve 会后把这位 VP 拉到一边:"你们是怎么评估其他语言候选的?"
对方愣了一下:"我们……其实没怎么看其他的。大家都在聊 Rust。"
一个 5000 万美元的决策,靠的是大家都在聊。
二十年前,Steve 经历过一模一样的事。他在一家叫 Takkle 的创业公司,一位新来的 CTO 宣布要把整个系统从 PHP 换成 Perl。理由?PHP 是"错误的选择"。
结果:团队要重新学语言、从零开始重建系统,产品延迟了九个月。月烧钱率从 20 万美元飙升到 50 万美元,runway 直接砍半。等系统终于上线,Facebook 已经从校园扩展到了全世界。市场机会没了,钱也烧完了。
有意思的是,Facebook 用的就是 PHP。
两个案例,相隔二十年,模式惊人地相似:决策者从来没有认真评估过其他选项。
每场技术讨论,其实有两个对话在同时进行
第一个是你以为在进行的对话——可见对话。
“Rust 有内存安全还不用垃圾回收。”
“Go 编译快、部署简单。”
“Python 的机器学习生态最丰富。”
这些都是技术层面的讨论。可量化,可辩论,看起来很理性。
但还有第二个对话——隐形对话。
“我是 Rust 程序员。”
“我想成为 Rust 程序员。”
“我无法想象一个不选择 Rust 的自己。”
这个对话不会说出口。很多时候,当事人自己都没意识到它在运行。
Steve 那位 CTO 的 Perl 分析,每一条技术论点在字面上都是对的。但那份分析感觉像走过场,因为它只是在给一个早就做好的决定找理由。
那位 CTO 花了十年时间成为 Perl 社区的知名人物,他不是在评估语言,他是在保护一个定义了自己是谁的身份。
公司为这个身份付出的代价是每月多烧 30 万美元。
所以你回头看 Codex CLI 用 Rust 重写,真的是因为 Rust 更好吗?🤪
点击图片查看原图