17611538698
webmaster@21cto.com

2023 年的Rust

编程语言 0 1107 2022-12-20 09:54:45

首先,感谢您在 2022 年使用 Rust !

图片

感谢所有贡献者、团队、基金会、社区还有广大用户。这是忙碌的一年,如果没有很多人(通常是志愿者)付出很多努力,这一切都不会发生。所以再次感谢大家!

我对 2023 年应该优先考虑的事情还有一些看法。

两件大事


首先,这也是最重要的,Rust 项目需要解决开发者治理和领导力问题。目前这些阻碍了很多有潜力的工作,而且持续的时间越长,项目累积的“治理债务”就越多,问题就会越多。


令人尴尬的是,在 Rust 核心团队崩溃一年后,仍然没有关于新领导团队的提议。(借此我向从事此工作的人大声呼吁,我知道这是一个难题,但是为大家还要这么做)


我认为 Rust 治理还有很多工作需要完成,主要是更新 RFC 流程,并重新审视团队和工作组织结构。但这些在领导团队和完成当前变革方面受到阻碍。

其次,由于缺少项目领导者,我认为我们需要重新审视“稳定而不停滞”的战略。


避免停滞是非常重要的,我们不能停止创新,但是也不能无限制地发展语言。编程语言的复杂性和规模是有代价的,这与 Rust 赋予人们权力编写可靠和高性能软件的使命不一致(IMO 要求使语言更简单、更小巧、更易于使用)。如果仅仅因为保持向后兼容性,这并不意味着我们实现了稳定性。我担心正在讨论或设计的新功能的数量,更甚者似乎没有关于语言发展方向的策略。

无论如何我认为,我们不应该停止创新或只是放慢速度,但我确实认为我们需要找到超越“实验 -> 每晚 -> 稳定”管道的创新方法。我们需要一个框架,以便创新可以发生在核心社区之外,而不需要所有工作都发生在用户依赖稳定和成熟的语言上。

我认为是时候开始重写编译器了。是的,重写这个主意通常很糟糕,重写的缺点会让我们放慢当前编译器的工作速度,我认为在 Rust 成熟的这一点上,这并不是一件可怕的事情。

如果项目没有成功,我们仍然应该学习一些东西。另一方面,它的潜在好处是巨大的!目前的架构已经很难实现增量编译、并行编译等。重新开始会让我们应用从头开始学到的一切,这将有机会认真改进编译时间,并使未来的开发更加容易。与语言 2.0 相结合,我们可能会因为向后兼容而丢弃一堆技术债务,

一些“较小”的东西

. Cargo(和 crates.io)是一个非常重要的工具,并且在很多重要事情的关键路径上(供应链安全、通用安全、与其他语言的集成、与其他构建系统的集成、构建时间……)都存在,但资源严重不足,取得进展很慢(目前的团队不应该受到责备,他们在恶劣的条件下已做得很好)。

我认为现在有机会解决这个问题:向 Cargo 和 crates.io 团队中任何愿意接受它的人投资,集中指导潜在的新团队成员(如果缺少这些人,需要说服一些大公司支持Rust 找到人,每个人在 Cargo 上工作 1/4 的时间),与这些人一起快速扩大团队(即使他们只对代码库等有部分了解),开始鼓励贡献和新功能。希望一旦激动人心的事情发生并且有足够的审查机制,将会产生一个贡献的良性循环,我们就会摆脱当前困境。

异步。Rust中 异步编程的工作进展顺利,我希望事情能在 2023 年开始融合并产生成果。

我对自己的缓慢进展感到有点点沮丧,大多数异步工作组都忙于其他事情,但是事情也正在发生好的变化。我认为 2023 年对于异步来说将是激动人心的一年,它应该仍然是该项目的高优先事项。

不安全的编程。不安全代码指南、定义 Rust 内存模型以及为不安全编程提供工具和指南方面做了大量工作。我认为在这方面进一步推进,对 Rust 来说非常重要。安全是 Rust 的主要卖点,开发者们可以做的越多,这使不安全的编程更安全、更容易。

完成和打磨。我经常要求团队更多地关注完成事情,并且要打磨粗糙的边缘,而不是开始新事物。有太多不稳定的和部分实现的功能,还有太多计划已久但缺失的功能。

最后

我以通配符做为本文的结束。我很高兴看到 Rust 的数据分析/数值计算明年将快速发展。这是一项由社区主导的工作,并且今年发生了一些非常令人兴奋的事情。尤其是Polars非常酷,我认为它非常适合 Rust,它也正在达到成熟度的拐点,我也很好奇它是否能够起飞,还有它将会走向何方。

祝大家2023年快乐!

作者:Nick Cameron,微软首席工程师,Rust开发组成员。

原文:

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

评论