update into-rust

pull/95/head
sunface 3 years ago
parent 3bd0dd84c6
commit abfa3059e6

@ -2,32 +2,27 @@
## 一、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 最早是 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版本。
大家可能疑惑Rust为啥用了这么久才到1.0版本与之相比Go语言2009年发布却在2012年仅用3年就发布了1.0版本。首先是因为Rust语言特性较为复杂因此需要全盘考虑的问题非常多其次Rust当时的参与者太多七嘴八舌的声音很多导致了众口难调而Rust开发团队又非常重视社区的意见 最后一旦1.0快速发布那么后续大部分语言特性就无法再修改对于有完美强迫症的Rust开发者团队来说某种程度上的不完美是不可接受的。因此Rust语言用了足足6年时间才发布了尽善尽美的1.0版本。
## 二、使用现状
一般来说,一门编程语言能在某一年成为全世界最受欢迎的语言,那锣鼓喧天、昂首挺胸都是少不了的,没办法,能从全世界这么多编程语言中脱颖而出成为最受欢迎的语言属实困难。可是有一门语言它从发布1.0版本开始,连续6年成为了全世界最受欢迎的语言是的它就是Rust,这不2021年又成为最受欢迎的语言了。
一般来说,某编程语言能在哪一年成为全世界最受欢迎的语言,那粉丝们锣鼓喧天、昂首挺胸都是少不了的,可以理解,因为能从全世界这么多编程语言中脱颖而出成为最受欢迎的语言属实困难。可是有一门语言它从发布1.0版本开始,**连续6年成为了全世界最受欢迎的语言**是的它就是Rust这不2021年又成为最受欢迎的语言了。
你可能会想既然这么受欢迎那肯定使用很广吧可惜现实给了我们重重一击在国外Rust尚且还行在各大公司的基础服务和底层都屡见身影在github上也算是呼风唤雨可是到了国内说句不好听的能听说过Rust大名的已经算百里挑一的优秀了就业环境更是糟糕。
你可能会想既然这么受欢迎那肯定使用很广吧可惜现实给了我们重重一击在国外Rust尚且还行在各大公司的基础服务和底层设施都屡见身影在github上开源界也算是呼风唤雨可是到了国内说句不好听的能听说过Rust大名的已经算百里挑一的优秀了就业环境更是糟糕。
如何改变这一切?这就是[Rust编程学院](https://college.rs)想做的事情,通过大家一起的努力,达成以下目标:
1. 输出**成体系的学习教程**大幅降低Rust的学习和使用难度
2. 打造**至少一个全民级项目**提升Rust在国内知名度
3. 建立一个持续活跃的社区为Rust用户提供一个交流、解惑的平台
其中第一点是尤为重要的只有一套成体系的学习教程才能让用户快速上手并且喜欢上Rust语言一旦粉丝效应形成那么Rust在国内的影响力就会在大家的自发宣传下迅速提升。
因此我们写了这本书,**一本承载了让Rust不再难学的梦想之书期望通过一本书再配合一些教学资源让国内的用户能迅速上手真实项目大幅提升Rust的开发效率**。
#### 部分主要使用者
- AWS从2017年开始就用Rust实现了它们的无服务器计算平台: AWS Lambda 和 AWS Fargate, 并且用Rust重写了Bottlerocket OS和AWS Nitro系统这两个是弹性计算云(EC2)的重要服务
- Cloudflare是Rust的重度用户DNS、无服务计算、网络包监控等
- AWS从2017年开始就用Rust实现了无服务器计算平台 AWS Lambda 和 AWS Fargate, 并且用Rust重写了Bottlerocket OS和AWS Nitro系统这两个是弹性计算云(EC2)的重要服务
- Cloudflare是Rust的重度用户DNS、无服务计算、网络包监控等基础设施都都与Rust密不可分
- Dropbox的底层存储服务完全由Rust重写达到了数万PB的规模
- Google除了在安卓系统的部分模块中使用Rust外还在它最新的操作系统fuchsia中重度使用Rust
- Facebook使用Rust来增强自己的网页端、移动端和API服务的性能同时还写了Hack编程语言的虚拟机部分模块
- Microsoft使用Rust为Azure平台实现了一些组件其中包括IoT服务的安全守护服务
- githu和npmjs.com使用Rust提供了高达每天13亿次的npm包下载数量
- Facebook使用Rust来增强自己的网页端、移动端和API服务的性能同时还写了Hack编程语言的虚拟机
- Microsoft使用Rust为Azure平台提供一些组件其中包括IoT的核心服务
- Github和npmjs.com使用Rust提供高达每天13亿次的npm包下载
- Rust目前已经成为全世界区块链平台的首选开发语言
- Tidb国内最有名的开源分布式数据库
- 国内高频交易服务
@ -41,19 +36,19 @@ Github上的Rust项目可以在这里查看: https://github.com/topics/rust?l=ru
## 三、适用人群
Rust 因多种原因适用于很多开发者让我们讨论几个最重要的群体。
Rust 因多种原因适用于很多开发者, 这里让我们讨论几个最重要的群体。
### 开发者团队
由于Rust语言拥有异常强大的编译器和语言特性因此Rust的代码天然就会比其它语言有更少的Bug同时Rust拥有非常完善的工具链、最好的包管理工具这些叠加在一起决定了Rust非常适合大型开发者团队的协作开发。
也许Rust在开发速度上不是最快的但是从开发 + 维护的角度来看这个成本绝对是各个语言中最小的之一当然如果你的公司就追求做出来能用就行那Rust确实不太适合
也许Rust在开发速度上不是最快的但是从开发 + 维护的角度来看这个成本绝对是各个语言中最小的之一当然如果你的公司就追求做出来能用就行那Rust确实有些灰姑娘的感觉
### 学生
Rust的语言特点决定了它天然就跟底层系统很亲和通过Rust你能学到操作系统、网络等计算机原理现在不少名校都引入了Rust作为计算机系统课程学习的重要组成部分例如MIT对Rust的使用就非常广泛。
Rust的语言特点决定了它跟底层系统很亲和通过Rust你能学到操作系统、网络等计算机原理现在不少名校都引入了Rust作为计算机系统课程学习的重要组成部分例如MIT对Rust的使用就非常广泛。
同时Rust具有一个友善、活跃的社区社区中的人非常热衷于为大家解答问题因此也很适合学生学习一门新的语言。
同时Rust具有一个友善、活跃的社区社区中的人非常热衷于为大家解答问题因此也很适合学生学习一门新的语言。
### 公司
@ -61,7 +56,7 @@ Rust的语言特点决定了它天然就跟底层系统很亲和通过Rust你
### 开源开发者
Rust连续6年成为全世界最受欢迎的语言就是来自于开源社区的厚爱在github上Rust目前各种类型的开源项目都非常火,同时有很多领域还等着大家去填补空白,这些都意味着在开源世界扬名立万的机会。
Rust连续6年成为全世界最受欢迎的语言这就是来自于开源社区的厚爱在github上Rust各种类型的开源项目都非常火同时有很多领域还等着大家去填补空白这些都意味着在开源世界扬名立万的机会。
为一门成熟的语言锦上添花远不如为一门新语言雪中送炭你能获得比在其他语言更多的star和名气。
@ -70,25 +65,23 @@ Rust连续6年成为全世界最受欢迎的语言这个就是来自于开源
速度分为两种:运行速度和开发速度。
开发速度方面Rust拥有和C、C++几乎相当的性能甚至由于Rust的各种零开销抽象以及安全的编程方式你能轻松写出和那些优化过后的C++代码一样甚至更高的性能: [ripgrep](https://github.com/BurntSushi/ripgrep)就是很典型的例子。
同时在你熟悉Rust后由于强大的编译器、标准库文档、语言高级特性等Rust能让你拥有不属于其它静态语言的开发速度同时大幅减少后期维护成本。
运行速度方面Rust拥有和C、C++几乎相当的性能甚至由于Rust的各种零开销抽象以及安全的编程方式你能轻松写出和那些优化过后的C++代码一样甚至更高的性能: [ripgrep](https://github.com/BurntSushi/ripgrep)就是很典型的例子。
同时在你熟悉Rust后由于强大的编译器、标准库文档、语言高级特性等Rust能让你拥有不弱于其它静态语言的开发速度同时大幅减少后期维护成本。
最后Rust语言不仅仅适用于这些人群这些列出来的只是从Rust中最受益的人群。总的来说Rust的目标是消除数十年来程序员不得不做的权衡安全 **与** 生产力,速度 **与** 工程性。
最后Rust语言不仅仅适用于这些人群他们从Rust中最受益的人群。总的来说Rust的目标是消除数十年来程序员不得不做的权衡安全 **与** 生产力,速度 **与** 工程性。
请跟随本书的脚步去尝试下Rust看看这个选择是否适合你。
## 四、Rust语言版本更新
与其它语言相比Rust的更新迭代较为频繁(得益于精心设计过的发布流程以及Rust语言开发者团队管理)
与其它语言相比Rust的更新迭代较为频繁(得益于精心设计过的发布流程以及Rust语言开发者团队的严格管理)
- 每6周发布一个迭代版本
- 2-3年发布一个新的大版本Rust 2018 editionRust 2021 edtion
好处在于,可以满足不同的用户群体的需求:
- 对于活跃的Rust用户他们总是能很快获取到新的语言内容毕竟尝鲜是技术爱好者的共同特点:)
- 对于一般的用户edition的发布会告诉这些用户Rust语言相比上次大版本发布有了重大的改进值得一看
- 对于一般的用户edition大版本的发布会告诉他们Rust语言相比上次大版本发布有了重大的改进值得一看
- 对于Rust语言开发者可以让他们的工作成果更快的被世人所知不必锦衣夜行
好了相信大家听了这么多Rust的优点已经迫不及待想要开始学习旅程OKlet's go.
好了相信大家听了这么多Rust的优点已经迫不及待想要开始学习旅程那么容我引用一句CS的经典台词OKlet's go.
Loading…
Cancel
Save