開發人員提供了 GNU Coreutils 在 Rust 中的重新實現 

gnu-coreutils-rust

在這個項目中使用 Rust 將有助於加快這個過程,因為很多潛在的錯誤都被完全消除了。

Sylvestre Ledru 開始致力於用 Rust 重新實現 GNU Coreutils 在 COVID-19 大流行期間 並於上週在 2023 年 FOSDEM 期間展示。 名為 uutils 的成果現在被許多 Linux 發行版打包,並且還通過 Yocto 項目被一個著名的社交網絡使用。

Rust 和 C++ 語言的比較有一個共同點:突出 Rust 在內存安全方面優於 C++。 RisingWave 編輯解釋了為什麼他在離開 C++ 項目後用 Rust 從頭開始重寫了他的原生 Cloud DBMS。

“Rust 通過引入所有權規則在編譯時確保內存和線程安全。 它超越了 C++ 中常用的內存管理機制 RAII。 它有兩個優點。 第一個很明顯:一旦 Rust 編譯器驗證了我們的程序,我們將不會在運行時出現任何段錯誤或競爭條件,這需要數十小時的調試,尤其是在高度並發的代碼庫中,並且大部分是異步的。 第二個更微妙:Rust 的編譯器簡單地限制了失敗的類型,這減少了可能導致此類錯誤行為的緊密嵌套代碼片段。 使用確定性執行可顯著改善錯誤複製。 »

GNU Coreutils 是一個包 來自 GNU 項目 其中包含許多類 Unix 操作系統所需的基本工具: cp(複製文件或目錄)、mkdir(創建目錄)等。 開發人員提供了 Rust 語言的重新實現。

目標之一:使該軟件包可在其他操作系統上使用:Windows、macOS、Android、FreeBSD 等。 此舉重新引發了關於是繼續使用 C 和 C++ 啟動新項目還是簡單地選擇 Rust 語言的爭論。

“在內存管理方面,Rust 語言默認提供安全保證。 這不是 C 和 C++ 的情況,它們在 Mozilla 中的使用是內存安全問題的原因”,Sylvestre Ledru 強調說。

然而,Bjarne Stroustrup 不同意 Rust 和 C++ 之間的比較將保護軟件的概念限制為保護內存的概念:

“‘安全’的概念沒有單一的定義,我們可以通過組合編程風格、支持庫和利用靜態分析來實現多種類型的安全。 因此,Bjarne Stroustrup 建議,在軟件安全方面,從 C++ 中可以獲得什麼取決於開發人員,特別是,取決於該語言提供的工具的知識、他對編譯器的掌握等。

谷歌工程師意識到 C++ 為他們提供的可能性,已經開始用這種語言創建貸款驗證器。 它是 Rust 編譯器的一個特性,通過內存指針分配管理來確保內存安全。

谷歌團隊, 其出版物出現在上一年的第三季度, 得出的結論是 類 C++ 系統不適合這樣的練習。 並 C++中的內存安全是可以實現的 在程序執行期間進行控制。 換句話說, 使用緩慢的 C++ 代碼,可以達到與 Rust 相當的安全級別.

RusingWave 編輯器的發布是因為 Rust 從多年來一直作為 C 和 C++ 替代品的其他語言中脫穎而出。 事實上,Linux 內核對 Mozilla 的系統編程語言越來越開放。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。