13年资深开发者分享一年学习Rust经历:从必备书目到代码练习一网打尽

2022 年 7 月 25 日 量子位
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的各个领域。

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

参考链接:
rustlings:https://github.com/rust-lang/rustlings
AOC:https://adventofcode.com/
[1] https://eli.thegreenplace.net/2022/how-i-went-about-learning-rust/
[2] https://news.ycombinator.com/item?id=32104764

「人工智能」、「智能汽车」微信社群邀你加入!

欢迎关注人工智能、智能汽车的小伙伴们加入我们,与AI从业者交流、切磋,不错过最新行业发展&技术进展。

ps.加好友请务必备注您的姓名-公司-职位哦~


点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

科技前沿进展日日相见~


登录查看更多
1

相关内容

Rust 是一种注重高效、安全、并行的系统程序语言。
【经典书】现代C语言教程,408页pdf手写教你写C代码
专知会员服务
62+阅读 · 2022年8月5日
专知会员服务
68+阅读 · 2021年7月10日
专知会员服务
90+阅读 · 2020年12月26日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
【2020新书】C语言编程傻瓜式入门,第二版,464页pdf
专知会员服务
61+阅读 · 2020年10月15日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
十年编程经历杂谈
InfoQ
0+阅读 · 2022年7月10日
20年老码农分享20条编程经验,你pick哪些?
量子位
0+阅读 · 2022年3月30日
“C不再是一种编程语言”
InfoQ
0+阅读 · 2022年3月28日
Github库分享:超全的PyTorch学习资源汇总
专知
21+阅读 · 2019年5月9日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
这可能是学习Python最好的免费在线电子书
程序猿
52+阅读 · 2018年5月17日
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
Arxiv
0+阅读 · 2022年9月15日
Arxiv
0+阅读 · 2022年9月15日
Learning from Few Samples: A Survey
Arxiv
77+阅读 · 2020年7月30日
A Survey on Bayesian Deep Learning
Arxiv
63+阅读 · 2020年7月2日
已删除
Arxiv
32+阅读 · 2020年3月23日
Arxiv
13+阅读 · 2019年11月14日
VIP会员
相关VIP内容
【经典书】现代C语言教程,408页pdf手写教你写C代码
专知会员服务
62+阅读 · 2022年8月5日
专知会员服务
68+阅读 · 2021年7月10日
专知会员服务
90+阅读 · 2020年12月26日
【2020新书】Ruby 3 编程: 从小白到专家,598页pdf
专知会员服务
29+阅读 · 2020年12月17日
【2020新书】C语言编程傻瓜式入门,第二版,464页pdf
专知会员服务
61+阅读 · 2020年10月15日
【2020新书】现代C++初学者指南,301页pdf
专知会员服务
159+阅读 · 2020年7月24日
【实用书】学习用Python编写代码进行数据分析,103页pdf
专知会员服务
192+阅读 · 2020年6月29日
【书籍】深度学习框架:PyTorch入门与实践(附代码)
专知会员服务
163+阅读 · 2019年10月28日
相关资讯
十年编程经历杂谈
InfoQ
0+阅读 · 2022年7月10日
20年老码农分享20条编程经验,你pick哪些?
量子位
0+阅读 · 2022年3月30日
“C不再是一种编程语言”
InfoQ
0+阅读 · 2022年3月28日
Github库分享:超全的PyTorch学习资源汇总
专知
21+阅读 · 2019年5月9日
各编程领域最好的入门书籍
程序猿
27+阅读 · 2018年7月29日
这可能是学习Python最好的免费在线电子书
程序猿
52+阅读 · 2018年5月17日
相关基金
国家自然科学基金
1+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2014年12月31日
国家自然科学基金
0+阅读 · 2013年12月31日
国家自然科学基金
2+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2012年12月31日
国家自然科学基金
1+阅读 · 2012年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
国家自然科学基金
0+阅读 · 2009年12月31日
相关论文
Arxiv
0+阅读 · 2022年9月15日
Arxiv
0+阅读 · 2022年9月15日
Learning from Few Samples: A Survey
Arxiv
77+阅读 · 2020年7月30日
A Survey on Bayesian Deep Learning
Arxiv
63+阅读 · 2020年7月2日
已删除
Arxiv
32+阅读 · 2020年3月23日
Arxiv
13+阅读 · 2019年11月14日
Top
微信扫码咨询专知VIP会员