前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Rust,风雨六载,砥砺奋进

Rust,风雨六载,砥砺奋进

作者头像
niqin.com
发布2022-09-01 15:44:12
3540
发布2022-09-01 15:44:12
举报
文章被收录于专栏:Rust 生态与实践

Rust 官方博客(中文版)仓库为 github.com/zzy/blog.rust-lang.org-zh-cn,欢迎您的参与,一起丰富中文网络的 Rust 资源。

2021 年 5 月 15 日,Rust 团队发表文章 Six Years of Rust,回顾了自 2015 年发布 Rust 1.0 以来的 6 年发展历程。

在 2015 年发布版本 1.0 以来,今天是 Rust 的 6 岁生日。2015 年以来,尤其是在过去的一年(2020)里,这世界发生了很多变化,Rust 同样如此。在 2020 年,Rust 还没有基金会,没有常量泛型(const generics),许多组织还在怀疑 Rust 是否已经为生产环境使用最好准备。

在新冠疫情(COVID-19)大流行期间,Rust 全球分布的数百名团队成员和志愿者共同努力,发布了 9 个稳定的新版本。此外,还有各种错误问题修复版本。今天,“生产环境中的 Rust(Rust in production)”已经不是问题,而是评估和认定。在新成立的 Rust 基金会中,有几个成员认为:在生产环境中充分利用 Rust,有助于继续支持和促进 Rust 开放生态系统的发展。

今天,我们想回顾一下过去一年中的一些重大改进,阐述社区是如何在生产环境中使用 Rust 的。最后,我们会展望当前正在进行的一些工作,以便在小型和大型项目中,改进和使用 Rust。

我们开始吧!

近期补录

2020 年中,Rust 语言有了很大的改进,收获了很多高质量的特性。虽然它们并没有从根本上改变语言,但是它们在很多地方,辅助性地令使用和维护 Rust 变得更加容易。

  • Rust 1.52.0,升级为 LLVM 12,转发进度(forward progress,比如处理无限循环)中出现的一些不合理的情况,终于得到了解决。这是 Rust 团队和 LLVM 项目之间长期合作的结果,是 Rust 改进方面的一个很棒的例子,也有益于更广泛的编程语言生态系统。
  • 关于对 Rust 生态系统进行更广泛的支持方面,引入了对 64 位 ARM Linux 的第 1 级(Tier 1)支持,以及 ARM macOSARM Windows 的第 2 级(Tier 2)支持。这使得 Rust 变得更好,可以轻松地构建对不同体系结构的跨平台项目。
  • 最值得注意的是:Rust 编译时(compile-time)能力的重大提升;原语类型中,常量泛型(const generics)的稳定;添加了 const fn 的控制流;以及允许过程宏(procedural macros)在更多的地方使用。这些改进,将允许创建完整而强大的新类型 APIs 和 crates。

Rustc 并非是唯一有显著改进的工具。

  • 最近,Cargo 刚刚稳定了它的新特性:解析器 resolver,这使得在跨不同目标构建中,对依赖项的管理将变得更加容易。
  • Rustdoc,稳定了它的“文档内联链接(intra-doc links)”功能,允许你轻松自动交叉引用文档中的 Rust 类型和函数。
  • cargo clippy,现在使用单独的构建缓存,提供了更加一致性的行为。

生产环境中的 Rust

自 Rust 问世以来的每一年当中,Rust 在社区和行业中的发展及采用都令人难以置信,过去的 2020 年也不例外。2020 年,在 StackOverflowRust 网站,Rust 再次被评为最受欢迎的编程语言。感谢社区中对 Rust 给予支持的每一个人,帮助我们实现了今天的伟大目标。

随着 Rust 基金会的成立,Rust 已经有了更好的定位,建立了一个可持续的开源生态系统,授权每个人建立安全和高效的软件。许多使用 Rust 的公司已经组建了专门维护和改进 Rust 项目的团队,包括亚马逊(AWS)、脸书(Facebook),以及微软。

而且,不仅仅是 Rust 越来越强大。而且,在项目中使用 Rust 的公司也越来越大,并提供了官方支持的 Rust APIs。

  • 微软和亚马逊,最近都宣布并发布了官方支持的与 Windows 和 AWS 交互的 Rust 新库。对如此大规模 APIs 的官方支持,将使 Rust 成为相关开发的第一选择。
  • cURL 项目发布的新版本中,提供了可选性支持,可以使用 Rust 库来处理 HTTP/s 及 TLS 通信。这是 ISRG、Hyper & Rustls 两个团队与 cURL 项目之间的巨大社区协作。我们要感谢每一个人:对于 cURL 这样大规模和广泛使用的项目,为其提供新的内存安全后端而付出了辛勤工作!
  • Tokio(Rust 的一个异步运行时库),发布了1.0 版本,并宣布为其提供三年的稳定保证。Tokio 为每个人提供了稳定而可靠的技术基础,以编写安全而有性能保障的网络应用。

未来的工作计划

当然,目前这一切,才仅只是开始。我们关注到,越来越多的开发者,倡议将 Rust 用在令人兴奋的新地方。

  • Critical Section & Ferrous 系统公司已经开启新的项目 Ferrocene。这个项目是专注于安全和任务方面的关键型系统,其使得 Rust 成为整个行业中的实施性编程语言。
  • Embark 工作室发布了项目 rust-gpu 的初始原型,这是一种新的编译器后端,允许使用 Rust 为 GPUs 编写图形着色器。
  • 目前,Linux 项目正在考虑将 Rust 添加第二内核语言,以便于能够编写更安全的驱动程序和内核空间(kernel-space)代码。
  • 谷歌已经宣布,现在支持在 Rust 中构建 Android 操作系统的底层组件,并且已经开始努力使用 Rust 重写他们的蓝牙协议栈!

目前,Rust 团队正在计划和协调 Rust 2021 版次。如同去年一样,许多改进的主题都是围绕着提高语言质量。你可以查看我们最近的文章,关于“Rust 2021 版次工作计划”,了解团队正在进行改进计划。

这只是冰山一角;还有更多的改进正在进行中。令人兴奋的基于 Rust 技术栈的开源新项目,每天都在产生。在未来的一年里,你的计划是什么?我们迫不及待地想看看!

过去的一年中,Rust 的改进或项目,你对此感到兴奋吗?你想开始 Rust 历程吗?你想为 Rust 2021 版次做贡献吗?请你移步来此,自我介绍,加入我们的 Discourse 论坛和 Zulip 聊天频道吧!欢迎任何人,我们致力于为所有人提供友好、安全和舒适的环境:无论性别、性取向、身障、种族、宗教,或任何类似的个人特征。

谢谢您的阅读,欢迎交流。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Rust 生态与实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 近期补录
  • 生产环境中的 Rust
  • 未来的工作计划
相关产品与服务
命令行工具
腾讯云命令行工具 TCCLI 是管理腾讯云资源的统一工具。使用腾讯云命令行工具,您可以快速调用腾讯云 API 来管理您的腾讯云资源。此外,您还可以基于腾讯云的命令行工具来做自动化和脚本处理,以更多样的方式进行组合和重用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档