百科问答小站 logo
百科问答小站 font logo



如何开始学习 Rust 语言? 第1页

  

user avatar   ji-ke-shi-jian-18 网友的相关建议: 
      

先分享个 「Rust 学习路径图」

再谈谈「Rust 发展前景判断」

有很多人比较关心 Rust 的发展前景: Rust 和其他语言的对比、现在或者未来什么语言会被 Rust 替代、Rust 会不会一统前后端天下等等。我觉得不会。

每种语言都有它们各自的优劣和适用场景,谈不上谁一定取代谁。社区的形成、兴盛和衰亡是一个长久的过程,就像“世界上最好的语言 PHP”也还在顽强地生长着。

那么如何判断一门新的语言的发展前景呢?下图是我用 pandas 处理过的 modulecounts 的数据,这个数据统计了主流语言的库的数量。可以看到 2019 年初 Rust crates 的起点并不高,只有两万出头,两年后就有六万多了。

作为一门新的语言,Rust 生态虽然绝对数量不高,但增长率一直遥遥领先,过去两年多的增长速度差不多是第二名 NPM 的两倍。很遗憾,Golang 的库没有一个比较好的统计渠道,所以这里没法比较 Golang 的数据。但和 JavaScript / Java / Python 等语言的对比足以说明 Rust 的潜力。

官方学习资料

Rust 社区里就有大量的学习资料供我们使用。

首先是官方的 Rust book,它涵盖了语言的方方面面,是入门 Rust 最权威的免费资料。不过这本书比较细碎,有些需要重点解释的内容又一笔带过,让人读完还是云里雾里的。

我记得当时学习 Deref trait 时,官方文档这段文字直接把我看懵了:

所以我觉得这本书适合学习语言的概貌,对于一时理解不了的内容,需要自己花时间另找资料,或者自己通过练习来掌握。在学习课程的过程中,如果你想巩固所学的内容,可以翻阅这本书。

另外一本官方的 Rust 死灵书(The Rustonomicon),讲述 Rust 的高级特性,主要是如何撰写和使用 unsafe Rust,内容不适合初学者。建议在学习完课程之后,或者起码学完进阶内容之后,再阅读这本书。

Rust 代码的文档系统 docs.rs是所有编程语言中使用起来最舒服,也是体验最一致的。无论是标准库的文档,还是第三方库的文档,都是用相同的工具生成的,非常便于阅读,你自己撰写的 crate,发布后也会放在 docs.rs 里。在平时学习和撰写代码的时候,用好这些文档会对你的学习效率和开发效率大有裨益。

标准库的文档 建议你在学到某个数据类型或者概念时再去阅读,在每一讲中涉及的内容,我都会放上标准库的链接,你可以延伸阅读。

为了帮助 Rust 初学者进一步巩固 Rust 学习的效果,Rust 官方还出品了 rustlings,它涵盖了大量的小练习,可以用来夯实对知识和概念的理解。有兴趣、有余力的同学可以尝试一下。

书籍+博客+视频

说完了官方的资料,我们看看其它关于 rust 的内容包括书籍、博客、视频。首先讲几本书。第一本是汉东的《Rust 编程之道》,详尽深入,是不可多得的 Rust 中文书。汉东在极客时间有一门 Rust 视频课程,如果你感兴趣,也可以订阅。英文书有 Programming Rust,目前出了第二版,我读过第一版,写得不错,面面俱到,适合从头读到尾,也适合查漏补缺。

除了书籍相关的资料,我还订阅了一些不错的博客和公众号,也分享给你。博客我主要会看 This week in Rust,你可以订阅其邮件列表,每期扫一下感兴趣的主题再深度阅读。

公众号主要用于获取信息,可以了解社区的一些动态,有 Rust 语言中文社区、Rust 编程指北,这两个公众号有时会推 This week in Rust 里的内容,甚至会有翻译。

还有一个非常棒的内容来源是 Rust 语言开源杂志,每月一期,囊括了大量优秀的 Rust 文章。不过这个杂志的主要受众,我感觉还是对 Rust 有一定掌握的开发者,建议你在学完了进阶篇后再读里面的文章效果更好。

视频的话,在 bilibili 上,也有大量的 Rust 培训资料,但需要自己先甄别。陈天老师做了几期“程序君的 Rust 培训”感兴趣也可以看看,可以作为课程的补充资料。

Rust 入门课程

给大家推荐陈天老师的《Rust 编程第一课》,现在已经四千多人订阅,且公认全网最好的 Rust 入门教程

承担着「Rust 第一课」的使命,课程讲得通俗易懂,把各个知识点类比到不同的语言中,设计了很多小而美的示例代码,引入 Rust 标准库的源代码进行分析,并且还精心绘制了大量的原理图。

刚上线的时候是 40 讲,老师边写边延展内容,完结后已经58 讲了。这种单纯的分享精神,也是很走心了。看看目录吧:

总的来说,内容由浅入深,对比多种语言,带你攻克 Rust 编程 10 大难点,有 100+ 原理图,详解 Rust 设计理念。最后通过 4 个项目实操训练,理论与实战两手抓,真正让你掌握 Rust 开发精髓。

说这么多,希望你能够坚定对学习 Rust 的信心。相信我,不管你未来是否使用 Rust,单单是学习 Rust 的过程,就能让你成为一个更好的程序员。




  

相关话题

  为什么有些程序员有时候会觉得产品的好坏对他们意义不大? 
  JetBrains 2022的远程功能和VSCode Remote相比如何? 
  计算机学院的学生该怎样提高自己的编程能力? 
  为什么 Go 和 Rust 常提供静态编译好的 Linux 程序,而 C 不行? 
  程序员工作进度慢造成公司损失被诉赔 90 万,法院以其没违反《合同法》驳回,如何从法律角度评判该判决? 
  从自身的经历来看,你认为学历对程序员职业影响大吗? 
  在做程序员的道路上,你掌握了什么概念或技术使你感觉自我提升突飞猛进? 
  C# 如何在调用控件时做到 Thread-safe(线程安全)? 
  为什么要把程序写死? 
  如何评价《职人介绍所》第 21 期节目,以及嘉宾 赵劼 和 winter 的表现? 

下一个讨论
矩阵低秩的意义?





© 2024-12-25 - tinynew.org. All Rights Reserved.
© 2024-12-25 - tinynew.org. 保留所有权利