Stackoverflow 发布的《2022 Developer Survey》数据显示,Rust 已经第七年成为最受欢迎的编程语言,87% 的开发人员表示他们希望继续使用它。Rust 最初由 Mozilla 创建,后来被 Dropbox、Microsoft、Facebook 等公司采用。其主要好处是可以实现类似 C 的性能,同时仍然保持开发者在使用 JAVA 和 Python/ target=_blank class=infotextkey>Python 等语言进行开发时习惯的内存安全。
虽说是 Rust 是最受欢迎的编程语言,但也并不代表它没有缺点。由于 Rust 早期是野蛮生长的,而且这个过程中管理层面较为混乱,导致现在积累了许多问题。因此,很多人都在期待 Rust 2.0 的出现,能够快速甩开这些问题。
Rust 社区治理混乱
微软首席工程师 Nick Cameron,曾经是 Rust 核心团队的成员,就在博客《 Rust in 2023》中指出,目前最重要的是解决 Rust 社区的治理和领导问题。因为这些问题阻碍了许多潜在工作,而且持续时间越长,会导致项目累积的 “治理债” 越多。更令人尴尬的是,在 Rust 核心团 队 内讧 一 年多后,仍没有关于新领导团队的建议。
而对于 Rust 的治理,Nick Cameron 认为需要更新 RFC 流程,以及重新审视团队和工作组的组织架构。目前由于缺少领导团队完成当前变革,这些工作都停滞了。
此外,他认为 Rust 要重写审视 “稳定而不停滞” 的战略。避免停滞非常重要,Rust 不能停止创新,但也不能无限制地任由其发展。因为语言的复杂性和规模是有代价的,这与 Rust 让人们编写可靠和高性能软件的使命不一致(他认为需要让编程语言更简单、更小、更易于使用)。仅仅保持向后兼容性并不意味着实现了稳定性。
Nick 表示自己有点担心 Rust 正在讨论或设计的新功能的数量,而且目前也没有关于 Rust 发展方向的策略。
一个好消息是,不久前,Rust 项目发布了一项有关新的治理计划的 RFC;旨在建立了一个领导委员会 (Leadership Council) 以替代原本的核心团队 (Core Team),委员会将其大部分权力下放给各团队。
此 RFC 建立的领导委员会工作重点是确定团队权限之外的工作并确定其优先次序。委员会主要是委托这些工作,而不是自己做这些工作。委员会还可以作为团队之间的协调、组织和问责机构,例如跨团队的工作、路线图和项目的长期成功。
Rust 学习难度大
通俗地说,就是 Rust 太复杂了,学习和使用 Rust 成本太高了。关于这一点, 官方自己也都承认了。
建立了大型 Rust 用户团队的公司报告说,Rust 工程师的上手时间约为 3-6 个月。一旦人们学习了 Rust,他们通常会喜欢上它。即便如此,许多人表示在使用它时感觉 “认知开销” 很高,而 “学习曲线” 仍然是不使用 Rust 的最常见原因。事实是,即使在您了解了 Rust 借用检查器的工作原理之后,还会有许多 “小细节” 需要正确处理才能让您的 Rust 程序编译。
至于为何会出现这种情况,有 OSC 网友道出了一些原因:
字节跳动基础架构部服务框架研发工程师吴迪指出,在官方发布的 2024 RoadMap 中,重点就是要解决 Async Rust 的学习曲线、使用难度和相关生态的问题,其中就涵盖了一些 Rust 社区最为瞩目的特性,可以帮助用户简化代码的编写以及降低使用成本,比如 Generic Associated Type(GAT)和 Type Alias Impl TrAIt(TAIT),以及这两个特性稳定之后所要支持的终极目标:Async Fn In Trait(支持在 Trait 中定义异步函数,GAT 和 TAIT 为这个特性的基础支持)。
所谓树大招风,Rust 越来越流行的同时,不可避免会招来更多批评的声音。我们寄希望于 Rust 2.0 的到来。