Stackoverflow发布的《2022 Developer Survey》数据显示,Rust已经第七年成为最受欢迎的编程语言,87%的开发人员表示他们希望继续使用它。Rust最初由 Mozilla创建,后来被 Dropbox、Microsoft、Facebook等公司采用。其主要好处是可以实现类似 C的性能,同时仍然保持开发者在使用 JavaScript和 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程序编译。”
字节跳动基础架构部服务框架研发工程师吴迪指出,在官方发布的 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的到来。那在这个过程中,我们可以留下什么痕迹呢?
2023年 5月 28日,GOTC 2023“Rust”分论坛将邀请国内外在对 Rust有深入研究的公司与专家,分享 Rust开发实践和心得体会,以及语言相关生态的发展情况等内容。
全球开源技术峰会(Global Open-source Technology Conference),简称 GOTC,是由开放原子开源基金会、 Linux基金会亚太区、上海浦东软件园和开源中国联合发起的,面向全球开发者的一场盛大开源技术盛宴。 5月 27日至 28日,GOTC 2023将于上海举办为期 2天的开源行业盛会。大会将以行业展览、主题发言、特别论坛、分论坛的形式展现,与会者将一起探讨元宇宙、3D与游戏、eBPF、Web3.0、区块链等热门技术主题,以及开源社区、AIGC、汽车软件、开源商业化、开源教育培训、云原生等热门话题,探讨开源未来,助力开源发展。
GOTC 2023由一个主论坛、十五个分论坛组成,在线下举办的同时,还将在线上直播。GOTC 2023报名通道现已开启,诚邀全球各技术领域开源爱好者共襄盛举!