Rust 公布 2024 年路線圖,將降低學習門檻
在 Rust 語言不斷發(fā)展的過程中,自然而然需要為這個語言的下一步發(fā)展方向制定計劃。因此 Rust 語言設計團隊(Lang Team)近日在官方博客中公布了 Rust 語言 2024 年的更新路線圖,提供了對 Rust 未來的展望。需要注意的是,目前距離 2024 年為時尚早,因此 Rust 的路線圖有可能隨著時間的推移,在此基礎上發(fā)生變化。
Rust 1.0 是在 2015 年發(fā)布的。從那時起,Rust 從一個用于小眾語言成長為幾乎所有主要科技公司都在使用的主流編程語言。Rust 2024 也將是繼 Rust 2015、Rust 2018 和 Rust 2021 之后的第四版編程語言路線圖。根據目前的計劃,三年的周期將會保留,版本劃分方面應該也沒有什么變化。
從 Rust 團隊的角度來看,2024 路線圖的重點主要有三樣:更低的學習曲線、給予 Rust 庫更好的連接生態(tài),以及進一步發(fā)展壯大 Rust 語言。
降低學習門檻
Rust 語言的學習門檻之高是屢屢被人詬病的一個問題。在 2 月份發(fā)布的 2021 年 Rust Survey 調查中,在近萬名受訪者中,有 83% 的人認為在生產環(huán)境中采用 Rust 十分具有挑戰(zhàn)性。在過去多年的調查中,學習曲線太陡峭的問題一直存在,這也是很多人不使用 Rust 的主要原因之一。
開發(fā)者不僅要理解一般的邏輯,而且要把具體的實現(xiàn)精確到很多細枝末節(jié)之處。在 Rust 官方博客中,他們引用了所有權系統(tǒng)和借用檢查器(borrow checker)的概念來舉例 —— "即使你已經學會了 Rust 的借用檢查器是如何工作的,仍然有許多小細節(jié)需要你去弄明白,以便 Rust 程序能夠編譯。"
因此,在 Rust 2024 年的路線圖中,他們的一個目標就是簡化程序,使開發(fā)者只需要處理其領域的固有復雜性,而不再需要處理 Rust 的意外復雜性。Rust 團隊希望開發(fā)者在使用 Rust 的過程中應該 "不僅僅是可能,還需要不復雜并且使用起來非常愉悅",特別是對于嵌入式開發(fā)和異步程序領域。
為了實現(xiàn)這一愿景,團隊有四個具體目標:
- 更精確的分析:通過改進借用檢查器、類型推理等,使編譯器能夠更好地識別代碼是否正確。識別并消除 "boilerplate" 模式,如到處復制粘貼同一組 where。
- 開發(fā)人員應該能夠更輕松、更直接地表達代碼的意圖。一方面可以通過語法糖的形式(如 let-else),另一方面可能意味著擴展類型系統(tǒng)。
- 改進異步支持:將 async-await 支持擴展到目前的 "MVP" 之外,包括 traits 中的 async fns、async drop 等功能。
- 讓 dyn Trait 更有用處。拓寬可用于 dyn 的特性集,使使用 dyn 的工作更接近于使用泛型的工作。
庫和核心語言
Rust 結合了所有權和借用、低級系統(tǒng)控制等強大的可擴展性機制,使其成為編寫庫的絕佳語言。而且多虧了 Cargo,開發(fā)者在程序中僅需幾行代碼就能使用一個庫。盡管如此,還有很多事情是庫的作者不能做的,或者說不能輕易做的 —— 例如:他們不能控制你看到的錯誤信息,或者部署一個 "不穩(wěn)定" 的功能。對于 Rust 2024,Lang Team 希望建立一些功能,使庫的作者能夠更好地服務于他們的用戶,無論是通過幫助管理功能的生命周期,還是通過擴大庫的功能。
Lang Team 還希望能夠在生態(tài)中進行更多探索的變化,并且能夠將代碼從生態(tài)穩(wěn)定地遷移到標準庫中;除此之外,他們還將增強 Rust 的互操作性,讓庫作者可以隨心所欲地編寫可在許多環(huán)境中移植的代碼,或針對某一環(huán)境的代碼。
為了更有效地進一步發(fā)展語言,Lang Team 希望開發(fā)者能夠很容易地識別出團隊正在積極開展哪些工作,以及這些工作取得了多大進展。他們希望每一個跟蹤問題都能清楚地識別出需要哪些步驟來推動該特定功能的完成,并確保這些步驟對潛在的貢獻者來說是足夠清楚的。
最后
隨著 2023 年的到來,Lang Team 將重新審視這些問題,會回顧已經取得了多少進展,以及是否需要調整這些內容。
對于一門編程語言而言,開發(fā)者最希望看到的還是版本更新應該盡可能少的引入破壞性變化。這樣的變化一方面可能會影響程序之間的兼容性,另一方面也違背了當初設立的降低學習曲線的目標。路線圖的更多詳情可查看 Rust 官方博客。
本文轉自OSCHINA
本文標題:Rust 公布 2024 年路線圖,將降低學習門檻
本文地址:https://www.oschina.net/news/190025/rust-lang-roadmap-2024