Rust的标准库为啥很小?


刚接触 Rust 编程语言的人会问“为什么标准库中没有随机数生成/正则表达式/日期时间/序列化等基本功能?为什么我需要为这些功能导入质量未知的第三方库? " 
 
保持标准库小型化的原因

  • 向标准库添加代码并不容易。它需要时间和精力来考虑命名、代码布局和实现细节的利弊,还需要更多时间来解决所提出的问题。
  • 一旦加入标准库,就不可能将代码从标准库中删除。
  • 需要时间来找到合适的接口。Rust是一种相对较新的语言。它引入了新的约束条件,使得寻找正确的接口变得困难。来自其他语言的先有技术可能没有帮助。找到API的最好方法是发布一个库并根据反馈进行迭代。
  • 当开发者可能没有互联网来寻找和下载第三方的依赖时,一个大型的标准库是一个杀手锏。但是有了互联网+包管理器+包仓库,下载依赖性就变得非常简单了。Rust在1.0之前就已经有了这些东西,并从中受益。今天,所有公开的Rust代码都是用cargo构建的,并发布到crates.io。甚至更老的语言也在采用这种方法。与其向Python的大型标准库添加请求,不如在文档中鼓励用户自己下载。