|
|
@ -1 +1,46 @@
|
|
|
|
# introduction.md
|
|
|
|
# 进入Rust编程世界
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Rust发展历程
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rust 最早是 Mozilla 雇员 Graydon Hoare 的一个个人项目,从 2009 年开始,得到了 Mozilla 研究院的支助,2010 年项目对外公布。2010 ~2011 年间实现的自举。从此以后,Rust 经历了巨大的设计变化和反复(历程极其艰辛),终于在 2015 年 5 月 15日发布了 1.0 版。在这个研发过程中,Rust 建立了一个强大活跃的社区,形成了一整套完善稳定的项目贡献机制(Rust能够飞速发展,与这一点密不可分)。Rust 现在由 [Rust项目开发者社区](https://github.com/rust-lang/rust)维护。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
大家可能疑惑Rust为啥用了这么久才到1.0版本?与之相比,Go语言2009年发布,却在2012年仅用3年就发布了1.0版本。首先是因为Rust语言特性较为复杂,因此需要全盘考虑的问题非常多;其次,Rust当时的参与者太多了,七嘴八舌的声音也很多,导致了众口难调,而Rust开发团队又非常重视社区的意见 ;最后,一旦1.0快速发布,那么后续大部分语言特性就无法再修改,对于有完美强迫症的Rust开发者团队来说,某种程度上的不完美是不可接受的。因此,Rust语言用了足足6年时间,才发布了尽善尽美的1.0版本。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 使用现状
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
一般来说,一门编程语言能在某一年成为全世界最受欢迎的语言,那锣鼓喧天、昂首挺胸都是少不了的,没办法,能从全世界这么多编程语言中脱颖而出成为最受欢迎的语言,属实困难。可是有一门语言,它从发布1.0版本开始,连续6年成为了全世界最受欢迎的语言,是的,它就是Rust,这不,2021年又成为最受欢迎的语言了。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
你可能会想,既然这么受欢迎,那肯定使用很广吧?可惜现实给了我们重重一击:在国外,Rust尚且还行,在各大公司的基础服务和底层都屡见身影,在github上也算是呼风唤雨,可是到了国内,说句不好听的,能听说过Rust大名的,已经算百里挑一的优秀了,就业环境更是糟糕。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
如何改变这一切?这就是[RustCm](https://rust.cm)社区想做的事情,通过大家一起的努力,达成以下目标:
|
|
|
|
|
|
|
|
1. 输出**成体系的学习教程**,大幅降低Rust的学习和使用难度
|
|
|
|
|
|
|
|
2. 打造**至少一个全民级项目**,提升Rust在国内知名度
|
|
|
|
|
|
|
|
3. 建立一个持续活跃的社区,为Rust用户提供一个交流、解惑的平台
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
其中第一点是尤为重要的,只有一套成体系的学习教程,才能让用户快速上手并且喜欢上Rust语言,一旦粉丝效应形成,那么Rust在国内的影响力就会在大家的自发宣传下迅速提升。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 国外
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- AWS从2017年开始就用Rust实现了它们的无服务器计算平台: AWS Lambda 和 AWS Fargate, 并且用Rust重写了Bottlerocket OS和AWS Nitro系统,这两个是弹性计算云(EC2)的重要服务
|
|
|
|
|
|
|
|
- Cloudflare也是Rust的重度用户,DNS、无服务计算、网络包监控等灯
|
|
|
|
|
|
|
|
- Dropbox的底层存储服务完全由Rust重写,达到了数万PB的规模
|
|
|
|
|
|
|
|
- Google除了在安卓系统的部分模块中使用Rust外,还在它最新的操作系统fuchsia中重度使用Rust
|
|
|
|
|
|
|
|
- Facebook使用Rust来增强自己的网页端、移动端和API服务的性能,同时还写了Hack编程语言的虚拟机部分模块
|
|
|
|
|
|
|
|
- Microsoft使用Rust为Azure平台实现了一些组件,其中包括IoT服务的安全守护服务
|
|
|
|
|
|
|
|
- githu和npmjs.com,使用Rust提供了高达每天13亿次的npm包下载数量
|
|
|
|
|
|
|
|
- Rust目前已经成为全世界区块链平台的首选开发语言
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
类似的还有很多,总之Rust在国外的形式还是非常喜人的,生态发展也异常迅速,颇有燎原之火之势。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 国内
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### Github
|
|
|
|
|
|
|
|
Github上目前的优秀Rust项目还是很多的,具体的可以在这里查看: https://github.com/topics/rust?l=rust,里面的项目是按照star数降序排列。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## 适用人群
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Rust语言版本更新
|