Rust 六周年

2021 年 5 月 15 日 · Rust 团队

今天是 Rust 自 2015 年发布 1.0 版本以来的六周年。自那时起,特别是过去一年里,许多事情都发生了变化,Rust 也不例外。在 2020 年,Rust 基金会尚未成立,还没有 const generics 功能,许多组织仍在观望 Rust 是否已达到生产环境的要求。

在 COVID-19 大流行期间,Rust 全球分布的数百名团队成员和志愿者发布了九个新的稳定版本,此外还有各种错误修复版本。如今,“在生产环境中使用 Rust”已不再是一个疑问,而是一个事实陈述。新成立的 Rust 基金会拥有多个成员,他们高度重视在生产环境中使用 Rust,并为此继续支持和贡献于其开放的开发生态系统。

我们想借今天回顾过去一年的一些主要改进,了解社区如何在生产环境中使用 Rust,并展望未来一年中正在进行的一些工作,以改进 Rust 并将其用于大小规模项目。让我们开始吧!

近期新增功能

Rust 语言在过去一年里取得了巨大进步,增加了许多提升使用体验的功能,这些功能虽然没有从根本上改变语言,但有助于在更多地方更容易地使用和维护 Rust。

  • 截至 Rust 1.52.0 版本及升级到 LLVM 12,少数关于前向进展(例如处理无限循环)的健全性问题终于得到了解决。这是 Rust 团队与 LLVM 项目长期合作的成果,也是 Rust 改进如何惠及更广泛编程语言生态系统的绝佳范例。

  • 在支持更广泛生态系统方面,对 64 位 ARM Linux 的 Tier 1 支持以及对 ARM macOS 和 ARM Windows 的 Tier 2 支持,使得 Rust 在跨新旧不同架构轻松构建项目方面变得更加出色。

  • 在完善主题中最值得注意的是 Rust 编译时能力的重大改进。原始类型的 const generics 稳定化,const fn 支持控制流,以及允许在更多地方使用过程宏,这些都使得创建强大全新的 API 类型和 crates 成为可能。

Rustc 并非唯一取得显著改进的工具。

  • Cargo 最近稳定了其新的 feature resolver,这使得跨不同目标使用依赖项变得更加容易。

  • Rustdoc 稳定了其“文档内链接”功能,让您可以在文档中轻松自动地交叉引用 Rust 类型和函数。

  • 现在,Clippy 配合 Cargo 使用独立的构建缓存,提供了更加一致的行为。

Rust 在生产环境的应用

每年 Rust 在社区和行业中的增长和采用速度都令人难以置信,过去一年也不例外。在 2020 年,Rust 再次被 StackOverflow 评选为 最受欢迎的编程语言。感谢社区中所有人的支持,以及帮助 Rust 成为今天的样子。

随着 Rust 基金会 的成立,Rust 处于更好的位置来构建一个可持续的开源生态系统,赋能每个人构建可靠高效的软件。许多使用 Rust 的公司已经组建了专门的团队来维护和改进 Rust 项目,其中包括 AWSFacebook 和 Microsoft。

而且不仅仅是 Rust 本身在壮大。越来越多的大型公司在其项目中使用 Rust,并提供官方支持的 Rust API。

  • Microsoft 和 Amazon 最近都宣布并发布了新的官方支持的 Rust 库,用于与 WindowsAWS 交互。对这些庞大 API 的官方第一方支持,有助于使 Rust 成为人们在决定项目使用何种语言时的首选。
  • cURL 项目发布了新版本,提供了选择性支持,可以使用 Rust 库来处理 HTTP/sTLS 通信。这是 ISRG、Hyper 和 Rustls 团队以及 cURL 项目之间巨大的社区协作成果,我们要感谢所有人的辛勤工作,为一个像 cURL 这样庞大且广泛使用的项目提供了新的内存安全后端!
  • Tokio(一个用 Rust 编写的异步运行时)发布了其 1.0 版本,并宣布了三年的稳定性保证,为所有人提供了一个坚实稳定的基础,可以在不牺牲速度的情况下编写可靠的网络应用。

未来工作

当然,所有这些都只是一个开始,我们看到越来越多的倡议将 Rust 带到令人兴奋的新领域;

目前 Rust 团队正在规划和协调 Rust 的 2021 版本。就像过去一年一样,很多更改的主题都围绕着提升使用体验。您可以查阅我们最近关于 “Rust 2021 版本计划” 的文章,了解团队正在计划哪些更改。

而这仅仅是冰山一角;还有很多正在进行的更改,以及每天都有新的令人兴奋的开源项目在 Rust 中启动。我们迫不及待地想看到大家在未来一年中构建的成果!


对于过去一年的更改或项目,您是否感到兴奋?您是否正在考虑开始学习 Rust?您是否想为 2021 版本做出贡献?那么就来加入我们吧,介绍一下自己,并在我们的 Discourse 论坛和 Zulip 聊天室参与讨论!我们欢迎所有人,我们致力于为所有人提供一个友好、安全和热情的环境,无论性别、性取向、残疾、种族、宗教或类似的个人特征如何。