Rust 規(guī)范團(tuán)隊終于成立,但不會干預(yù)語言發(fā)展
發(fā)布時間:2023-12-20 15:07:44
Rust 領(lǐng)導(dǎo)層成立了一個規(guī)范團(tuán)隊,迄今為止在沒有規(guī)范的情況下蓬勃發(fā)展的編程語言 Rust 終于有了規(guī)范的關(guān)鍵一步。
這是對去年 6 月 RFC(征求意見)的落實,該 RFC 提出了 rust 是否想要一個規(guī)范的討論。
新團(tuán)隊有四名成員,Joel Marcey 是編輯,F(xiàn)elix Klock 和 Maras Bos 是團(tuán)隊負(fù)責(zé)人,Eric Huss 是團(tuán)隊成員。Bos 是最初 RFC 的作者。
根據(jù)該團(tuán)隊的最初公告,他們將由利益相關(guān)者指導(dǎo),包括 Rust 語言團(tuán)隊的所有成員,以及其他人,包括操作系統(tǒng)的一名或多名代表,特別是 Linux 和 Windows。
今年 9 月,微軟在 Rust 上發(fā)布了 Windows 驅(qū)動程序開發(fā)的早期代碼。
規(guī)范團(tuán)隊和語言團(tuán)隊之間的關(guān)系并不是照搬其它語言的組織架構(gòu)。
例如,在 C 和 C++ 中,標(biāo)準(zhǔn)委員會定義語言,而實現(xiàn)者構(gòu)建編譯器可能只是規(guī)范的部分實現(xiàn),也可能擴(kuò)展它。Java 有一個社區(qū)進(jìn)程,它提供了一個官方規(guī)范。
不過,Rust 規(guī)范團(tuán)隊表示,“Rust 語言定義的權(quán)力仍然掌握在相關(guān)團(tuán)隊手中,例如語言團(tuán)隊和庫 API 團(tuán)隊。這與規(guī)范團(tuán)隊的最初目標(biāo)不謀而合,該團(tuán)隊指出:“我們預(yù)計規(guī)范的早期版本將主要專注于提供當(dāng)前 Rust 版本的詳細(xì)描述。
可以說,如果規(guī)范團(tuán)隊不負(fù)責(zé)“Rust 語言的定義”,那么它就不完全是一個通常理解的規(guī)范團(tuán)隊,盡管它提供的內(nèi)容讀起來更像是規(guī)范而不是文檔。
這個問題一直爭論不休,一位社區(qū)成員問道:“如果最終的真相仍然是'無論 rustc 做什么',那么首先制定規(guī)范的意義何在?另一位團(tuán)隊成員的回答是“如果 rustc 與規(guī)范不同,那就是其中任何一個的錯誤,需要根據(jù)具體情況確定是哪一個。
盡管如此,該團(tuán)隊仍將努力使任何尋找語言問題答案的 Rust 程序員都可以訪問該規(guī)范。該團(tuán)隊還承認(rèn),其最初的工作可能存在差距,但預(yù)計這些差距會隨著規(guī)范的發(fā)展而減少。
那么,規(guī)范將如何與語言保持同步?
Rust 目前的發(fā)布周期為 6 周,這個快速的周期可能會將規(guī)范拋在后面。“Rust 版本將獨立于規(guī)范批準(zhǔn)過程進(jìn)行” 新團(tuán)隊表示,即使這意味著“該版本將在沒有相關(guān)規(guī)范的情況下發(fā)布”。不過,當(dāng)涉及到大到足以稱為“語言功能”的變化時,有人試圖劃清界限。希望最終更新的規(guī)范將與發(fā)布節(jié)奏同步交付。
規(guī)范團(tuán)隊的成立是第一步,而 Rust 的完整規(guī)范的概念還有一段距離。如果它來了,那仍將是有價值的。有評論說:“我相信我的雇主......目前被 C 語言困住了,因為沒有我們可以在 Isabelle 中忠實地表示的官方形式規(guī)范,擁有一個精確的數(shù)學(xué)定義將有助于我為我們小組采用 Rust 進(jìn)行驗證工作提供論據(jù)。Isabelle 是證明數(shù)學(xué)公式的工具。
精確性很重要,雖然規(guī)范問題不會困擾大多數(shù)開發(fā)人員,但擁有一個規(guī)范文本,將有可能提高語言的價值。
以上為本次所有分享內(nèi)容