我分享一下一年的Rust学习经历,从书到代码都一网打尽。
关于新手如何学习Rust,我之前在Hacker News上看到了这么一篇教程:
这篇教程与其他教程不同的时,他不是一个速成教程,而是通过自己的学习经历,向需要学习Rust的网友分享一些学习心得。短时间内就有广大Hacker News网友分享出了自己学习Rust的经历。
我们都知道,学习一门编程语言,阅读书籍和编写代码是大多数人的学习方式;同样这两者的交替学习对掌握Rust也同样重要。
我学习Rust读的第一本书是“Programming Rust”,这也是我学Rust的入门书籍。
这本书初步介绍了Rust,包含对Rust 1.5的全面概述和参考。
虽说它是入门书籍,但还是需要一定的编程基础,熟悉低级编程,尤其是内存管理。
对于一个有经验的开发人员(最好具有C++背景),知道如何在项目中使用替代资源,这本书是对Rust一个很好而全面的概述。
其次是The Rust Programming Language,相较于Programming Rust,我认为这本书对我会是一个更好的参考,虽然我还没有完整的读过整本书,但它的主要部分我已经看过了。
这本书在谷歌的排名中位于名列前茅,很多人都将这本书作为Rust入门指南,由Rust核心团队的两名成员编写,42名社区成员反馈和贡献。
同样的是,阅读这本书也需要有编程基础,这意味着这些材料对于具有各种编程背景的开发人员来说都是有用的。
总结下来,如果想要阅读这些入门Rust书籍,就必须要具备一定的编程基础。
接下来再来讲Rust in Action,他是关于Rust的一本中级书籍,包含系统编程领域的几个重要项目。
这本书中,介绍的方法很有趣,很适合已经初步了解Rust的人群阅读。
除此之外,它还专注于系统编程,并且写出了很多真正有用的代码。
但很遗憾的是,由于这本书还很新,里面有许多错别字、混淆、代码清单和随附的存储库之间的严重不匹配等。
最后来讲一讲Rust for Rustaceans这本书,先说结论,不推荐阅读。
我很喜欢这本书的作者Jon Gjengset以前发布的一些视频,但是看完这本书却大失所望。
这本书混合了Rust官方书中解释得更好的材料和过于专业的材料,只是一层又一层的文字,几乎没有图表和代码示例,几乎没有任何可编译的项目去做一些有用的事情。
已经了解了学习Rust的相关书籍,在阅读之余也要适当练习练习编写代码。
编写代码练习
既然如此,我们该如何有效练习呢?我也根据自己的经验推荐了一些渠道。
如果开始学习Rust时,可以先用rustlings,它是用来阅读和编写Rust代码片段的小练习。虽然不是很全面,但对于刚入手的小白来说还是挺有用的。
网站附于在回答文末。
再来说说Advent of Code,2021年版很适合用来练习Rust,一共有25个问题,根据它里面的指示来编写代码,完成任务。
通过解决AOC的问题,可以很好地学习和练习编程语言。
我已经完成了前面的18个问题,很可能会再次在Rust中处理AOC 2024,来保持我编写Rust代码的感觉。
The Ray Tracer Challenge book,这本书由一系列“单元测试”和易于翻译成任何语言的伪代码组成,可以用来指导我们使用编程语言来实现光线追踪器。
在学习新的编程语言的时,我们还可以构建一些可视化的项目,至少不会很快会感觉枯燥。
但是,这本书中解释了为什么他提供的公式和伪代码有效,无助于培养直觉。
这导致调试问题时会发生严重的差错。由于没有开发直觉,因此调试的唯一方法是将代码与书中的伪代码进行细致的比较,以确保在抄写过程中没有丢失或输入错误的内容。
当然总体来说,还是值得一读的。
最后来讲一讲Crafting Interpreters,在这本书中,作者从头到尾为该语言开发了两个完整的解释器,包括所有前端和后端部分。
在书中,两个解释器的所有代码都完全包含在文本中并分段呈现。并不需要翻阅外部的存储库。直接阅读并将代码复制到自己的编辑器中即可运行。
我也对这本书抱有很高的评价,我认为这本书是我在看过的许多编译器书籍中,迄今为止最实用的。
除了以上这些,我还做了很多实验,编写代码来探索Rust的各个领域。