打开网易新闻 查看精彩图片

作者花了数年寻找"完美编程语言",结论是:它不存在。F#、TypeScript、C# 都试过,每次都在某个维度上妥协。直到他把 Rust 当成高级语言来用,才发现那条被传得神乎其神的"学习曲线",可能已经被 AI 悄悄改写了。

为什么一个非系统级程序员突然盯上 Rust

为什么一个非系统级程序员突然盯上 Rust

作者过去两年主力语言是 F#、TypeScript 和 C#。这些语言足够扎实,但总有"差一点"的感觉——于是年复一年地折腾,把每种语言往理想形态硬掰。

他早就知道 Rust,但从未认真用过。不是系统级程序员,何必碰系统级语言?

转折点在 Recurse Center。有人随口提了句:就算只为了类型系统,Rust 也值得一试。这句话击中了他——他选语言向来先看类型,再赌生态能不能跟上。

研究之后发现,Rust 确实是那个"缺失语言"的有力候选,除了开发体验(devx)这条硬伤。

但 2026 年的变量变了:AI 写标准代码已经相当熟练。如果学习曲线被 AI 削平,Rust 的代价是否还那么高?收益是否值得重新算账?

他把 Rust 的利弊摊开看:

优点:类型系统、性能、安全性、并发模型、包管理、跨平台——全是顶级配置。

缺点:陡峭的学习曲线、借用检查器(borrow checker)的摩擦、编译时间、生态相对年轻。

作者的想法很直接:如果能把开发体验拉到 C#/F#/TS 的水平,Rust 就几乎全是 upside。

于是他做了三个月实验:读 Rust 书、搭原型、摸索"高级语言式"的写法。

结论是:能拿到约 80% 的 Rust 收益,只付约 20% 的痛苦。性能损失 10-30%,但 Rust 的基准速度够快,这点代价在大多数场景下可接受。

"高级 Rust"的核心操作:绕过借用检查器

Rust 的学习曲线陡峭,九成阻力来自借用检查器。它强制你管理内存所有权,编译时拒绝任何潜在的数据竞争。

作者的办法不是硬啃,而是绕路:用不可变数据结构和频繁克隆(clone),让编译器闭嘴。

这听起来像性能自杀,但实测下来,大部分应用代码的克隆开销在 10-30% 之间。Rust 的基准性能足够高,即使打七折,依然快过大多数高级语言。

具体做法分几条线:

第一,不可变结构体(immutable structs)。字段全用不可变类型,需要改数据时直接返回新实例。配合结构体更新语法(struct update syntax),代码密度不会太难看。

第二,原子引用计数(Arc)。需要共享所有权时,用 Arc 包裹数据。克隆 Arc 只是引用计数+1,成本远低于深拷贝。

第三,智能指针组合。Arc> 或 Arc> 处理可变共享,Arc 处理动态分发。这些组合在"高级 Rust"里出现频率极高。

第四,必要时上可变。真有热路径(hot path)时,局部改用可变引用和原地修改,把性能捞回来。

这套打法的心理成本是:你得时刻记着"这里该用 Arc 还是 clone"。但相比和借用检查器缠斗,这种开销更可控、更可预测。

打开网易新闻 查看精彩图片

AI 如何改变 Rust 的学习方程

AI 如何改变 Rust 的学习方程

作者承认,这套方法有额外的心智负担。但 2026 年的关键变量是 AI 辅助编码。

他的观察是:AI 写标准代码的能力,已经把 Rust 的有效学习曲线拉低到接近其他高级语言。

具体来说,Copilot、Claude、Cursor 这些工具在 Rust 上的表现,和 TypeScript/C# 差距不大。借用检查器的错误信息,AI 能直接消化并给出修复建议;样板代码(boilerplate)的生成质量足够高,人工只需调整。

这意味着什么?过去学 Rust 要硬啃所有权、生命周期、借用规则,现在可以把"让代码跑起来"的部分交给 AI,人专注于架构设计和业务逻辑。

作者的原话是:「With AI so good at writing standard code, is this learning curve now much lower?」——这不是假设,是他过去几周在 Recurse Center 的实测体验。

当然,AI 不是万能。借用检查器的某些错误仍需人工理解,性能优化时也离不开人对内存布局的直觉。但"入门到生产力"的周期,确实被压缩了。

代价清单:什么情况下这套打法会崩

代价清单:什么情况下这套打法会崩

作者没有回避问题。他列了几条明确的边界:

性能敏感场景。如果 clone 发生在高频循环里,10-30% 的损耗会累积成瓶颈。这时需要回退到可变引用和原地修改,重新和借用检查器谈判。

心智负担的隐性成本。不可变结构、Arc、clone 的决策点遍布代码,团队需要形成共识,否则代码风格会碎片化。

生态成熟度。Rust 的库不如 npm/NuGet 丰富,某些领域需要自研或绑定 C 库。

编译时间。即使走"高级"路线,Rust 的编译速度仍慢于 TypeScript 这种解释型语言。CI/CD 流水线需要额外耐心。

但这些代价是"可选项"而非"必选项"。作者的核心论点是:你可以先用高级模式把产品做出来,再按需下沉到底层优化。这和 Python 先跑通、C++ 优化热路径的策略异曲同工,只是 Rust 的两端都在同一门语言里。

一个产品经理的选型逻辑

一个产品经理的选型逻辑

作者的背景值得注意:产品经理出身,不是系统编程老炮。他的选型标准很"用户视角"——类型系统好不好、生态够不够、开发爽不爽、性能过不过关。

这种视角下,Rust 的传统卖点(零成本抽象、内存安全无 GC)是"必要非充分"条件。真正让他动心的是:如果 AI 抹平了学习曲线,Rust 就变成了一门"没有明显短板"的语言。

他对比过自己用过的语言:

F# 的类型系统和表达力顶级,但生态和工具链拖后腿;TypeScript 生态无敌,但类型系统是补丁叠补丁,运行时无保障;C# 平衡性好,但跨平台和性能天花板明显。

Rust 的高级模式试图兼顾:类型系统比 TS 严谨,性能比 C# 好,生态比 F# 强,跨平台原生支持。

这不是说 Rust 要取代谁,而是提供了一个新的"默认选项"——当你不知道选什么时,可以不再妥协。

作者最后提到,他还在 Recurse Center 继续实验。下一步是看看这套打法在团队协作中的真实表现,以及 AI 辅助的边界到底在哪。

如果你也在 2026 年重新评估技术栈,会愿意为 80% 的 Rust 收益付出 20% 的痛苦吗?还是说,你已经被借用检查器劝退过太多次,连试都不想试了?