Rust的標準庫為啥很小?

banq發表於2022-02-07

剛接觸 Rust 程式語言的人會問“為什麼標準庫中沒有隨機數生成/正規表示式/日期時間/序列化等基本功能?為什麼我需要為這些功能匯入質量未知的第三方庫? " 
 
保持標準庫小型化的原因
  • 向標準庫新增程式碼並不容易。它需要時間和精力來考慮命名、程式碼佈局和實現細節的利弊,還需要更多時間來解決所提出的問題。
  • 一旦加入標準庫,就不可能將程式碼從標準庫中刪除。
  • 需要時間來找到合適的介面。Rust是一種相對較新的語言。它引入了新的約束條件,使得尋找正確的介面變得困難。來自其他語言的先有技術可能沒有幫助。找到API的最好方法是釋出一個庫並根據反饋進行迭代。
  • 當開發者可能沒有網際網路來尋找和下載第三方的依賴時,一個大型的標準庫是一個殺手鐧。但是有了網際網路+包管理器+包倉庫,下載依賴性就變得非常簡單了。Rust在1.0之前就已經有了這些東西,並從中受益。今天,所有公開的Rust程式碼都是用cargo構建的,併發布到crates.io。甚至更老的語言也在採用這種方法。與其向Python的大型標準庫新增請求,不如在文件中鼓勵使用者自己下載。


 

相關文章