13年资深开发者分享一年学习Rust经历:从必备书目到代码练习一网打尽 | 程序师 – 程序员、编程语言、软件开发、编程技术-迪欧吧

Pine 发自 凹非寺
量子位 | 公众号 QbitAI

如何学习Rust,Hacker News上有这么一篇教程火了。

它不同于网络上类似的几小时速成教程,而是通过本身的学习经历向大家指出一条学习Rust的路径。

教程发出之后,网友们也在Hacker News上贴出了本身的学习经历。

了解Rust相关的书籍和教程很便利,即使在没有网络,离线的时候也可以学习。我在没有WiFi的长途飞行中学到了Rust的基础知识。确实是个打发时间的好方法!

阅读相关书籍以及编写代码对于学习一门编程语言来说都必不成少,二者交替学习对掌握Rust至关重要。

资深开发者Eli Bendersky在他的网站上撰写了很多篇关于代码语言的博客,其中就有一篇关于他本身为期一年学习Rust的经历。

一起来看看吧。

相关书目黑红榜

首先,Eli在教程中对他所读过的Rust相关书目做了评价。

Programming Rust一般是作为入门书籍来看,这是Eli学习Rust时所读的第一本书。

书中初步介绍了Rust,内含Rust1.50的全面概述和参考。

虽说它是入门书籍,但还是需要必然的编程基础,熟悉低级编程,尤其是内存办理。

总体而言,对于一个有经验的开发人员(最好具有C++背景)知道如安在项目中使用替代资源,这本书是对Rust的一个很好而全面的概述。

其次是The Rust Programming Language,相较于Programming Rust,Eli认为这本书会是一个更好的参考,虽然他还没有完整地读过整本书,但已经浏览了它的主要部分。

这本书在谷歌中的排名也名列前茅,很多人都将其列为Rust入门指南,由Rust核心团队的两名成员编写,42名社区成员反馈和贡献。

同样的是,阅读这本书也需要有编程基础,这意味着这些材对于具有各种编程背景的开发人员来说都是有用的。

总结下来,如果想要阅读这些入门Rust书籍,就得先有必然的编程基础在。

接下来再来讲Rust in Action,它是关于Rust的一本中级书籍,包含系统编程领域的几个重要项目。

这本书中,介绍的方法很有趣,很适合已经初步了解Rust的人群阅读。

除此之外,它还专注于系统编程,并且写出了很多真正有用的代码。

但美中不足的是,由于这本书还很新,里面有许多错别字、混淆、代码清单和随附的存储库之间的严重不匹配等。

最后来讲一讲Rust for Rustaceans这本书,先说结论,不保举阅读。

Eli很喜欢这本书的作者Jon Gjengset以前发布的一些视频,但是看完这本书却大失所望。

这本书混合了Rust官方书中解释得更好的材和过于专业的材,只是一层又一层的文字,几乎没有图表和代码示例,几乎没有任何可编译的项目去做一些有用的事情。

已经了解了学习Rust的相关书籍,在阅读之余也要适当练习练习编写代码。

编写代码练习

既然如此,我们该如何有效练习呢?Eli也按照本身的经验保举了一些渠道。

如果开始学习Rust时,可以先用rustlings,它是用来阅读和编写Rust代码片段的小练习。虽然不是很全面,但对于刚入手的小白来说还是挺有用的。

网站附于文末。

再来说说Advent of Code,2021年版很适合用来练习Rust,一共有25个问题,按照它里面的指示来编写代码,完成任务。

通过解决AOC的问题,可以很好地学习和练习编程语言。

Eli已经完成了前面的18个问题,在博客中他也提到,很可能会再次在Rust中处理AOC2022,保持他的手感。

The Ray Tracer Challenge book,这本书由一系列“单元测试”和易于翻译成任何语言的伪代码组成,可以用来指导我们使用编程语言来实现光线追踪器。

在学习新的编程语言的同时,我们还可以构建一些可视化的东西,不会很快觉得枯燥。

但是,这本书着墨解释为什么它提供的公式和伪代码有效,无助于培养直觉。

这导致调试问题时会发生严重的差错。由于没有开发直觉,因此调试的唯一方法是将代码与书中的伪代码进行细致的比力,以确保在转录过程中没有丢失或输入错误的内容。

当然总体来说,还是值得一读的。

最后来讲一讲Crafting Interpreters,在这本书中,作者从头到尾为该语言开发了两个完整的解释器,包罗所有前端和后端部分。

在书中,两个解释器的所有代码都完全包含在文本中并分段呈现。并不需要翻阅外部的存储库。直接阅读并将代码复制到本身的编纂器中即可运行。

Eli也对这本书抱有很高的评价,他认为这本书是在他看过的许多编译器书籍中,迄今为止最实用的。

除了以上这些,Eli还做了很多实验,编写代码来探索Rust的各个领域。

如果感兴趣的话可以戳下面的链接,进到他的网站查看更多~

量子位

未经允许不得转载:迪欧吧_技术交流_资源分享_热点资讯_免费VPS空间 » 13年资深开发者分享一年学习Rust经历:从必备书目到代码练习一网打尽 | 程序师 – 程序员、编程语言、软件开发、编程技术-迪欧吧