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 的到來。