You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

74 lines
3.6 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Rust编程指南
做任何事情初心和目标很重要过程也很重要那么这里我们就来谈谈这些关于书关于Rust在国内的发展。
## Rust学习路线
0. 入一个社区: [Rust编程学院](#Rust社区)
1. 读一本好书: [<<Rust编程指南>>](https://wayto.rs)
2. 做一些习题: [Rust Excersise](https://github.com/rustcollege/rustex)
3. 看一个项目: [Simple Redis](https://github.com/rustcollege/simple-redis)
4. 学常用算法: [Algorithms](https://github.com/rustcollege/algorithms)
5. 找优秀开源: [Awesome Rust](https://github.com/rustcollege/awesome-rust)
## 关于本书
- 官方书名: Rust编程指南(The Way To Rust)
- 官方网址: https://wayto.rs
- 修订时间: **尚未发行**
- Rust版本Rust edition 2021
#### 书本简介
`Rust编程指南`是一本涵盖了从入门到精通各个阶段的Rust书籍书本的章节和内容组织经过深思熟虑的设计以符合中国用户的编程使用习惯目的是尽量对新手更友好同时也更方便老手的后期检索查询。
使用Rust的用户往往都对性能非常感兴趣因此本书对于性能优化方面也是分散落入各个章节中同时还有一个专门的**性能优化**专题来帮助用户系统的认识如何优化Rust项目的性能。
针对不同的使用场景我们也给出了多种模版代码方便用户直接复制粘贴到代码中例如读取文件、http请求等无需再去网上搜索。
Rust的外部库层次不齐针对这一点我们根据功能分类推荐了相应的高质量开源库同时提供了基础的使用帮助。
**在学完这本书后,你也会随之完成数个小型项目**,例如其中一些是:
- Mandelbrot集合渲染
- 类Grep命令
- CPU模拟器
- 小型数据库
- 小型Redis
- HTTP等网络请求客户端
- 小型操作系统内核
从上面的列表可以看出学完本书不仅会教会你Rust语言还能学到系统编程和底层编程, 尽情享受奇妙的编程之旅吧。
#### 创作初心
还有很多,就不一一列举,等待大家自己去探索挖掘。 总之在写作过程中我们始终铭记初心:**为用户打造一本真正的Rust中文好书。 新手用来入门,老手用来提高,高手能用来提升生产力**。
#### 目标读者
目标读者大致能落在以下三个范畴内
1. 有其它语言编程基础无Rust编程语言经验的爱好者
2. 已经熟悉Rust想要更进一步的中级Rust程序员
3. 想要随时检索一些Rust知识和代码对生产力有要求的Rust开发者
## Rust社区
与国外的Rust发展如火如荼相比国内的近况不是特别理想。
导致目前这种状况的原因,我个人认为有以下几点原因:
1. 上手难度大,学习曲线陡峭
2. 中文资料少,英文资料难学(基于原因1)
3. 没有体系化的学习路线,新人往往扫完一遍入门书籍,就不知道何去何从
因此我联合几个朋友一起创建了Rust编程学院(Rust College), 致力于给国内提供最新、最高质量Rust学习内容。
官网网址:
- https://college.cn
- https://rustcollege.cn
## Philosophy
书本的内容组织上遵循以下原则:
1. 内聚性: 每个章节都应该系统的阐述一整块儿独立的内容,尽量减少章节之间的耦合性
2. 先易后难:按照初级 -> 中级 -> 高级排列内容
3. 知识链知识B的学习如果需要先学习知识A则A一定在B之前出现
4. 章节命名当用户突然想了解某个知识点时可以很快的定位到它所在的章节例如想了解Arc就应该`多线程 -> Arc`这种章节目录形式