首先,学习 Rust 不能急躁。如果你抱着之前 1 天上手 Python, 2 天入门 Go 的经验和优越感来学习 Rust 的话,你可能会遭遇严重的失败感。如果你来自 Haskell/Ocaml 等函数式语言社区,你会有相当的亲切感。对于有丰富 C++ 开发经验的同学来说,上手可能相对比较容易。
了解
一般来说,要决定学习一门新语言之前,会先大体了解下这门语言的特点和目前的发展情况。这时,建议看
- Rust 官网 https://rust-lang.org
- Rust Force https://rustforce.net Rust 基本要素汇集
- Rust 语言中文社区论坛 https://rust.cc
- 《Rust语言学习交流》公众号,每日 Rust 新闻和知识推送
- 知乎 有很多关于 Rust 相关的知识、专栏、博客等
看书
了解大体情况后,可能就想看看书,系统的学习一下。目前,网络上 Rust 电子书籍有:
- The Book https://doc.rust-lang.org/book/ 官方的 Rust 书(最新第二版,必看)
- The Book 中文翻译 https://github.com/KaiserY/rust-book-chinese
- Rust Primer https://rustcc.gitbooks.io/rustprimer/content/ Rust 中文社区推出的教程
电子书看着没感觉,想买实体书来看看,目前国内有如下两本已出版 Rust 学习教程。
实体书
- 《Rust 编程之道》 张汉东 电子工业出版社 2019-1
- 《深入浅出Rust》范长春 机械工业出版社 2018-8
练习
想做下练习
- Rust By Example https://doc.rust-lang.org/stable/rust-by-example/
开发
开始开发具体的工程了,cargo 和 crates.io 必须好好了解一下。
国内 crates.io 源太慢,有解决办法:
Rustcc 联合 LongHash 提供了国内 Rust 开发者专属 crates.io 镜像。把下面内容填充到你的 ~/.cargo/config 文件中(没有就创建一个)。
[source.crates-io]
replace-with = "rustcc"
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
然后,就尽情地享受飞一般的感觉吧。
招聘情况
想了解一下目前国内的 Rust 招聘情况,可以看这里
更多话题
更多话题 ,比如 编辑器如何配置,哪个IDE最好,如何配置,Rust 目前在哪些领域有应用,Rust 有什么杀手锏应用,区块链为什么越来越多选择用 Rust 来实现,WebAssembly 与 Rust 的关系等等,就不展开介绍了,上面提到的各种资源,以及网络上,有丰富的信息,大家可以自行查阅。
最后
In Rust, We Trust.