1.如何拥有更广泛的吸引力?Rust 注重安全性、人体工程学和性能,可以开发出更好的产品,提高生产率。与 GC 语言相比,Rust 目前学习难度还很大,需要付出很高的认知成本。
让 Rust 更易于学习和使用,可能会提升 Rust 影响力。专家建议,减少显式生命周期的使用,增强借用检查器,避免 trait 系统过于复杂,关注用户体验,避免成为一门庞大的语言。
2.内存模型和不安全代码。安全性是 Rust 的主要特性之一,也是许多人使用它的原因。遗憾的是,在安全的边界上是不安全代码,从安全到不安全没有一个平稳的过渡。我们需要提供更多的支持和更好的体验,让程序员完成不安全的工作。为此,需要更清晰地理解 Rust 的内存模型,然后再开发语言特性、库和工具。
3.标准库演进。对于语言,一个版本可以有一些向后不兼容的演进而不会造成什么破坏。而对于标准库,除了单调发展之外没有其他任何方法。就其本身而言,这将导致标准库越来越大,越来越混乱。
4.编译器的重大修改。Rustc 是一个相当庞大的软件,有很多内在的复杂性。有很多大型软件常见的问题,还有很多技术债务。这里有一些很大的挑战,特别是在编译时(其中,增量编译和并行编译是两种正在研发中的方法),且都是些很难实现的工作。
5.宏。有许多不完善的地方,也是该语言最不完善的部分之一。声明式宏引入了一种全新的子语言。过程宏很笨重,需要大量的依赖,并且很难掌握。所有宏在编译器和工具中的表现都比较差。