Rust 六周年

2021 年 5 月 15 日 · Rust 团队

今天是 Rust 迎来 1.0 版本的六周年纪念日。自 2015 年以来,Rust 发生了翻天覆地的变化,尤其是在过去的一年里,Rust 也毫不例外。在 2020 年,还没有 Rust 基金会,也没有 const generics,许多组织仍在观望 Rust 是否已准备好投入生产。

在 COVID-19 大流行期间,Rust 全球分布式的团队成员和志愿者们发布了九个新的稳定版本,以及各种 bug 修复版本。如今,“Rust 在生产环境中”不再是一个问题,而是一个事实。新成立的 Rust 基金会拥有许多成员,他们重视在生产环境中使用 Rust,并愿意为其开源开发生态系统的持续支持和贡献做出贡献。

我们想借此机会回顾一下过去一年中的一些重大改进,以及社区如何将 Rust 用于生产环境,最后展望一下未来一年中正在进行的一些工作,这些工作将改进和使用 Rust 来构建小型和大型项目。让我们开始吧!

近期新增功能

Rust 语言在过去一年中取得了巨大的进步,获得了许多提高生活质量的功能,虽然这些功能并没有从根本上改变语言,但它们使在更多地方使用和维护 Rust 变得更加容易。

  • 从 Rust 1.52.0 和升级到 LLVM 12 开始,围绕前向进度(例如处理无限循环)的少数几个不安全情况终于得到了解决。这是 Rust 团队和 LLVM 项目之间长期合作的结果,也是 Rust 改进也惠及更广泛的编程语言生态系统的绝佳例子。

  • 在支持更广泛的生态系统方面,对 64 位 ARM Linux 的一级支持以及对 ARM macOS 和 ARM Windows 的二级支持的引入,使 Rust 成为一个更适合在新的和不同的架构上轻松构建项目的平台。

  • 最值得注意的例外是 Rust 编译时功能的重大改进。对原始类型的 const generics 的稳定化、对 const fn 的控制流的添加以及允许在更多地方使用过程宏,使得能够创建完全强大的新型 API 和板条箱。

Rustc 不是唯一一个有重大改进的工具。

  • Cargo 最近稳定了其新的功能解析器,这使得在不同目标之间使用依赖项变得更加容易。

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

  • Clippy 与 Cargo 现在使用单独的构建缓存,提供更一致的行为。

Rust 在生产环境中

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

随着 Rust 基金会 的成立,Rust 能够更好地构建一个可持续的开源生态系统,使每个人都能构建可靠高效的软件。许多使用 Rust 的公司组建了专门维护和改进 Rust 项目的团队,包括 AWSFacebook 和微软。

不仅 Rust 本身在不断壮大,越来越多的公司开始在他们的项目中采用 Rust,并提供官方支持的 Rust API。

  • 微软和亚马逊最近宣布并发布了他们新的官方支持的 Rust 库,用于与 WindowsAWS 进行交互。对这些大型 API 的官方一级支持使 Rust 成为人们在为项目选择语言时的首选。
  • cURL 项目发布了新版本,这些版本提供了对使用 Rust 库处理 HTTP/sTLS 通信的支持。这是 ISRG、Hyper 和 Rustls 团队以及 cURL 项目之间巨大的跨社区合作,我们感谢大家为为像 cURL 这样庞大且广泛使用的项目提供新的内存安全后端所付出的努力!
  • Tokio(用 Rust 编写的异步运行时)发布了其 1.0 版本,并宣布了其三年的稳定性保证,为每个人提供了一个坚实稳定的基础,用于编写可靠的网络应用程序,而不会影响速度。

未来工作

当然,这仅仅是开始,我们看到越来越多的举措将 Rust 应用于令人兴奋的新领域;

目前,Rust 团队正在计划和协调 2021 版 Rust。与过去一年一样,许多变化的主题都围绕着提高生活质量。您可以查看我们最近关于 “Rust 2021 版的计划” 的文章,了解团队正在计划的更改。

这仅仅是冰山一角;还有许多其他正在进行的更改,以及每天在 Rust 中启动的令人兴奋的新开源项目。我们迫不及待地想看看你们在未来一年中会构建什么!


您是否对过去一年中的更改或项目感到兴奋?您是否想开始使用 Rust?您是否想为 2021 版做出贡献?那么,请加入我们,自我介绍,并加入我们 Discourse 论坛和 Zulip 聊天室的讨论!欢迎所有人,我们致力于为所有人提供一个友好、安全和包容的环境,无论性别、性取向、残疾、种族、宗教或类似的个人特征。