The Future of Rust

Matthias Endler

Rust 的未来

我首先指出显而易见的一点:没错,这个标题确实有些耸人听闻。你可能还会问,我凭什么谈论 Rust 的未来。毕竟,我既不是 Rust 核心团队的成员,也不是 Rust 生态系统中的重要贡献者。对此我的回答是:为什么不呢?思考系统编程总体上的未来,以及 Rust 尤其是它的未来,还是很有意思的。

Ferris 是 Rust 的非官方吉祥物
Ferris 是 Rust 的非官方吉祥物
来源:插图由 FreePik.com 提供

你可能听说过核心团队为 2017 年周期设定的近期目标。更快的编译速度和更平缓的学习曲线就是其中两项。本文不讨论这些。相反,我想探索一些更为大胆的领域,在未来五到十年里,Rust 可能会在这些领域大放异彩。要想取得更大的成功,我们既需要根基,也需要翅膀

Data Science(数据科学)

目前,Data Science 最流行的语言是 Python、Java、R 和 C++。

用于数据科学的编程语言流行度
用于数据科学的编程语言流行度(来源)。

我们观察到,原型大多使用 Python 和 R 这类动态类型语言编写,但当某个算法达到可用于生产环境的质量后,为了实现可扩展性,它通常会用 C++ 这类更快的语言重写。不难想象,在不久的将来,Rust 会成为 C++ 的有力竞争者。用 Rust 编写的机器学习库 leaf 的基准测试结果已经令人印象深刻。

大制作游戏

游戏是 Rust 可能大放异彩的另一个领域。对于游戏工作室来说,只需很少的工作就能支持多个平台,在经济上很有吸引力。Cargorustup 让交叉编译变得简单。现代库正在逐步填补大规模游戏开发中的工具链空白。Rust 对 Vulkan 3D 图形 API 的支持或许已经是业内最佳。不过,它的杀手级特性在于安全性与性能的独特结合。如果你把一款游戏发布给一百万名玩家,而他们纷纷为你砸钱,那么你最好确保游戏不会崩溃……对吧?

话虽如此,第一款 AAA Rust 游戏可能仍然遥遥无期。这是 Blizzard 在 2017 年对 Rust 的看法

系统工程

也许——最终——我们还会看到 Rust 核心经过形式化验证。届时,像 RustBelt 这样的项目将为航天等注重安全性的行业开启新的机遇。让一艘由 Rust 控制的航天器安全降落在火星上,难道不是很棒吗?(或者由 Rust 的某个精神继承者控制。)我想知道 SpaceX 是否已经在试验 Rust 了……

与其他语言集成

还有许多其他领域我甚至还没有提到。例如金融和医疗软件,或者科学计算,这里仅举几例。在所有这些领域,Rust 都可能非常合适。目前,最大的入门障碍可能是数量庞大的遗留代码。许多行业都维护着用 Cobol、C 或 Fortran 编写的大型代码库,而这些代码库并不容易重写。

幸运的是,事实已经证明 Rust 与其他语言协作得非常好。一方面是因为它与 C 具有很强的兼容性,另一方面是因为它没有 Runtime 或 Garbage Collector。典型的做法是,用 Rust 优化应用程序中那些对安全性或性能有严格要求的核心部分,同时保持其余部分不变。我认为,从长远来看,这种共生关系只会变得更加紧密。甚至还有 Corrode 这样的雄心勃勃的项目,试图自动将 C 代码转换为 Rust。

总结

总体而言,我认为 Rust 在安全性、性能或对机器的完全控制至关重要的领域拥有巨大潜力。借助 Rust 和 Crystal 这样的语言,整整一类错误都将成为过去。没有空指针,没有段错误,没有内存泄漏,没有 data races(数据竞争)。想到未来几代程序员会把这一切视为理所当然,我就深受鼓舞。

原文由 Matthias Endler 发布

本文章由 openai/gpt-5.6-luna 进行翻译