微软工程师展望 Rust 2023:重写编译器、解决管理问题


Nick Cameron 是就职于微软负责 Rust 开发的首席工程师,此前是 Rust 核心开发团队的成员。他在 3 个月前发表文章:“Rust 面临的十大挑战”,称这是 Rust 应该在 2023 年要解决的问题。

上周他又发表了文章:“Rust in 2023”,表达对 Rust 和 Rust 社区在 2023 年的展望,比如优先要做的工作,以及 Rust 值得着手改进的方向。


两件重要大事

  • 解决 Rust 社区的治理和领导问题

Nick Cameron 认为,目前最重要的是解决 Rust 社区的治理和领导问题。原因在于这些问题阻碍了许多潜在工作,而且持续时间越长,会导致项目累积的“治理债”越多。更令人尴尬的是,在 Rust 核心团队内讧一年多后,仍没有关于新领导团队的建议。

而对于 Rust 的治理,Nick Cameron 认为需要更新 RFC 流程,以及重新审视团队和工作组的组织架构。目前由于缺少领导团队完成当前变革,这些工作都停滞了。

此外,他认为 Rust 要重写审视“稳定而不停滞”的战略。避免停滞非常重要,Rust 不能停止创新,但也不能无限制地任由其发展。因为语言的复杂性和规模是有代价的,这与 Rust 让人们编写可靠和高性能软件的使命不一致(他认为需要让编程语言更简单、更小、更易于使用)。仅仅保持向后兼容性并不意味着实现了稳定性。

Nick 表示自己有点担心 Rust 正在讨论或设计的新功能的数量,而且目前也没有关于 Rust 发展方向的策略。

  • 重写编译器

Nick 认为,Rust 目前的架构已经难以支持实现增量编译、并行编译等功能。重新开始则可以使用上更多的技术,团队可以通过这种机会认真优化编译时间,简化未来的开发难度。再结合 Rust 2.0,他们可以减少由于向后兼容而导致的技术债,并改进语言,实现更快的编译。

其他值得着手改进的地方

  • Cargo

Cargo(和 crates.io)是非常重要的工具,并且处于很多重要事情的关键路径上(供应链安全、常规安全、与其他语言的集成、与其他构建系统的集成、构建时间……),但目前对它的资源投入严重不足,几乎不可能取得进展(需要明确的是,目前的团队不应该受到责备,他们在恶劣的条件下做得很好,只是由于这是一项艰苦的工作)。

Nick 提出了解决这个问题的方案:向 Cargo 和 crates.io 团队中任何愿意接手它的人提供资金,集中指导潜在的新团队成员(如果这些人不存在,然后说服一些支持 Rust 的大公司,让他们每家找一个人把 1/4 的工作时间花在 Cargo 上),然后与这些成员一起快速扩大团队(即使他们对代码库只有部分了解),并再次开始鼓励贡献和新功能。

  • 异步

目前异步编程的相关工作进展得很顺利,Nick 称希望事情在 2023 年开始好转并取得实实在在的成果。关于这一点,他对自己的缓慢进展感到有些沮丧,遗憾的是,大多数异步工作组都在忙着其他事情。不过事情正在发生变化,他认为,对于异步来说,2023 年将是令人兴奋的一年。它应该仍然是 Rust 的一个高度优先事项。

  • 不安全编程

不安全代码指南工作组及其他一些人在定义 Rust 内存模型方面做了很多工作,并为不安全编程提供了工具和指南。Nick 认为,对 Rust 来说,进一步推进这方面的工作非常重要。因为安全性是 Rust 的主要卖点,为了让不安全编程变得更安全、更简单,我们做得越多越好。

原文:https://www.ncameron.org/blog/rust-in-2023/

 


相關推薦

2023-04-29

持或使开源社区受益。开源软件开发者、现任 Sentry 安全工程师 Armin Ronacher 认为,微软对 Rust 的承诺对这门语言来说非常重要。 “特别是,因为我希望微软重用现有的编译器,我希望这会带来更好的 PDB [程序数据库] 支持。在

2022-09-20

微软首席工程师 Nick Cameron 发布了一篇博客,指出了他认为现在和未来几年 Rust 将面临的十大挑战,并提出了一些初步的解决方案想法。目前,Nick Cameron 主要负责该公司 Rust 相关的工作;曾经,他还是 Rust 核心团队的成员。 Nick

2022-09-30

沃尔沃汽车公司的软件工程师 Johannes Foufas 对该公司的技术专家和系统架构师(也是其嵌入式 Rust 先驱之一)Julius Gustavsson 进行了一则访谈,就 Rust 在汽车中的相关应用进行了探讨。 Gustavsson 透露,2014 年,他在已经从事了 15 年

2023-07-18

GDI region 的新实现。虽然这是一个小的实验性功能,微软工程师表示将继续增加 Rust 在内核中的使用。 今年 3 月份,Windows 操作系统安全总监 David “dwizzle” Weston 在以色列特拉维夫的 BlueHat IL 2023 上宣布 Rust 进入操作系统内核

2023-11-16

Facebook 法国前端工程师、React Native 和 Prettier 的联合创始人 Vjeux 在 Twitter 发帖,寻求有能力的开发者来使用 Rust 重写前端代码格式化工具 Prettier,并悬赏 1 万美元。 使用 Rust 实现更快、更美观的 printers 引起了广泛关

2022-09-30

歌使用 Rust 开发 Android 主要是为了解决内存安全问题,其工程师认为 Rust 可以利用编译时检查(确保对象的生命周期和所有权)和运行时检查(确保内存访问有效)来保证内存安全,并且 Rust 在实现这种安全性的同时,还提供了

2023-03-12

多或少存在一些问题,在对这些问题总结后,他们理解到工程师对构建工具的诉求是: 良好的 Dev 启动性能 良好的 Build 性能 足够灵活的配置 生产环境的产物优化能力 在确定了这四个需求后,团队调查了社区中的所有

2023-03-03

 —— 内核中的“VGEM”驱动程序正在用 Rust 编程语言重写。 VGEM(Virtual GEM) 是 Linux 4.1 版本引入的虚拟 GEM 提供者,作为最小的非硬件支持的图形执行管理器 (GEM) 内存管理服务已经存在了一段时间。它被 LLVMpipe 和其他非本

2023-05-25

今天凌晨,微软 Build 2023 开发者大会正式开幕,这是 2019 年以来首次回归线下举办,主题十分突出,基本是围绕“AI”展开。本文对部分值得开发者关注的亮点进行汇总。 微软推出 Windows Copilot 微软宣布在 Windows 11 中加入名

2023-03-01

非常庞大,并且包含许多不同的服务。 近日,Cloudflare 工程师介绍了如何使用 Rust 重写基于 C 语言的 Nginx 模块。Cloudflare 工程师在博客写道,他们用 Rust 为 Cloudflare 基础设施中最古老和最不为人所知的部分——cf-html,编写了替

2023-04-24

多业务性的逻辑是需要创造力和编程心流体验的, 而Rust编译器总是打断你方向性的思考, 强制让你关注设计阶段不重要的细节, 丧失了很多编程乐趣。 2. Rust社区的人似乎不懂得市场经济和成本概念, 一个好的软件, 不仅

2022-10-15

规则并不适合 casual user。  3、喜欢:你可以告诉 Rust 编译器该做什么 一些开发人员将 Rust 所需的所有额外细节和模板视为优势。它让他们可以 inject hints,使编译器更容易找出正在发生的事情并捕获任何潜在的错误。华丽的

2023-01-09

Vue 作者尤雨溪日前发文对 Vue 的 2022 进行回顾并展望了一下项目 2023 年的发展。 在 2022 年 2 月,Vue 的默认版本切换到了 3.x;最新的稳定版本是 11 月发布的 Vue 3.2.45。尤雨溪称,这一转变标志着 v3 框架的所有官方部分都已

2023-05-05

互联网安全研究小组 (ISRG) 的 Prossimo 项目正在用 Rust 重写 sudo 和 su,目标是提升它们在内存方面的安全性,确保它们不再遭受内存安全漏洞的困扰,并进一步增强 Linux 和开源生态系统的安全性。 据介绍,Prossimo 选择的软件会重