Rust的標準庫為啥很小?
剛接觸 Rust 程式語言的人會問“為什麼標準庫中沒有隨機數生成/正規表示式/日期時間/序列化等基本功能?為什麼我需要為這些功能匯入質量未知的第三方庫? "
保持標準庫小型化的原因
- 向標準庫新增程式碼並不容易。它需要時間和精力來考慮命名、程式碼佈局和實現細節的利弊,還需要更多時間來解決所提出的問題。
- 一旦加入標準庫,就不可能將程式碼從標準庫中刪除。
- 需要時間來找到合適的介面。Rust是一種相對較新的語言。它引入了新的約束條件,使得尋找正確的介面變得困難。來自其他語言的先有技術可能沒有幫助。找到API的最好方法是釋出一個庫並根據反饋進行迭代。
- 當開發者可能沒有網際網路來尋找和下載第三方的依賴時,一個大型的標準庫是一個殺手鐧。但是有了網際網路+包管理器+包倉庫,下載依賴性就變得非常簡單了。Rust在1.0之前就已經有了這些東西,並從中受益。今天,所有公開的Rust程式碼都是用cargo構建的,併發布到crates.io。甚至更老的語言也在採用這種方法。與其向Python的大型標準庫新增請求,不如在文件中鼓勵使用者自己下載。
相關文章
- Rust 標準庫中的 async/await (async-std)RustAI
- Windows中Rust標準庫發現“BatBadBut”漏洞WindowsRustBAT
- CUJ:標準庫:標準庫中的搜尋演算法 (轉)演算法
- C 標準庫 -
- C++標準庫C++
- 標準庫之template
- 為什麼標準庫的模板變數都是inline的變數inline
- 如何入職遊戲公司,成為遊戲模型師,次世代PBR製作標準是啥?遊戲模型
- 標準庫 fmt 包的基本使用
- python常用標準庫Python
- PHP 標準庫 SplStack 棧PHP
- C標準庫學習
- Go標準庫ContextGoContext
- Swift標準庫解析:IntSwift
- - C語言標準庫C語言
- 標準模板庫STL (轉)
- golang標準庫之 fmtGolang
- 手寫程式語言-如何為 GScript 編寫標準庫
- golang標準庫的分析os包(6)Golang
- Go標準庫flag包的“小陷阱”Go
- Golang中的unsafe標準庫包Golang
- python標準庫00學習準備Python
- swagger 的介面標題為啥無法顯示Swagger
- portlets API將成為標準!API
- go語言標準庫 - logGo
- C 標準庫 – ctype.h
- go語言標準庫 - timeGo
- c/c++ 標準庫 vectorC++
- python標準庫目錄Python
- Python標準庫(待續)Python
- Python標準庫一覽Python
- Oracle標準資料庫稽核Oracle資料庫
- C++標準模板庫------容器C++
- C++標準庫::拾遺C++
- 標準模板庫介紹(轉)
- stm32標準庫和HAL庫的關係
- Python 快速教程(標準庫):學習準備Python
- 標準庫 http 包的簡單實用HTTP