19个学习Rust的最佳资源
Rust是一种新的编程语言,引起了编程界的关注。它在克服C/C++的缺点的同时,提供了类似或更快的执行速度。这就是为什么它连续7年位居StackOverflow的开发者调查榜首的原因!
所有这些确实引起了你的注意。现在,你想要学习Rust。考虑到Rust开发人员的就业市场前景看好,这是一个明智的选择。为了帮助你实现这一目标,我将列出学习Rust的最佳资源,包括课程、书籍和博客。
让我们开始吧。
Rust的特点和为什么应该学习它?
![](/images/kflmk13fvvr.jpg)
Rust于2015年发布。它慢慢开始吸引公司和开发者的注意。它变得如此流行的核心原因包括:
- 因为它很快,
- 它具有严格的内存安全设计,
- 和高性能并发支持。
从比较的角度来看,Rust是一种类似于Python的高级编程语言,提供与C/C++相当的性能,使开发者能够创建快速和安全的应用程序。简而言之,它的零成本抽象允许开发者在高级编程概念下访问低级内存。
然而,使Rust如此卓越的一点是它的所有权和借用模型。它让开发者遵循严格的思维和执行模型,从而编写出无bug的代码。简单地说,编译器确保在代码运行之前修复所有的bug,提供内存和线程安全。
在市场方面,Rust也显得特别。让我们来看看关于Rust的一些有趣事实。
- Rust初级开发人员的年薪从6万美元起。
- 平均而言,Rust开发人员的年薪为12万美元。
- 对于高级开发人员,这个数字可以高达14万美元。
- Rust的市场近年来增长迅猛,对Rust开发人员的需求旺盛。
总的来说,如果你选择Rust作为你的主要编程语言,那么你做出了正确的决定。
你还在努力理解Rust的重要性吗?那么,请查看Reasons to Use Rust for Your Next Development Project。
最佳入门地点:Rust核心文档、《The Book》和Rustings课程
Rust核心文档
如果你刚开始学习Rust,你会发现Rust文档是最好的起点。它可以在official Rust网站上找到。这份丰富的文档涵盖了你在使用Rust时会遇到的几乎所有内容。然而,它并没有提供学习路径。为此,你需要使用它们的官方书籍和课程。
Rust编程语言书籍
这本优秀的Rust书籍被昵称为《The Book》,是目前最好的Rust Programming language book之一。它详细介绍了Rust的各个方面,包括Rust的基础知识、所有权和借用模型、如何管理项目和包的完整指南,以及其他高级Rust主题,包括错误处理、自动化测试、不安全的Rust、宏和函数式语言编程。该书还涵盖了一些项目,包括著名的“Hello, World”项目、一个有趣的I/O project以及一个构建多线程Web服务器的最终项目。
此外,还可以查看Rust by Example,它列出了演示不同Rust概念的Rust示例,对于初学者来说是一个很好的资源。
GitHub的Rust课程
最后,你还可以学习GitHub上的Rust course。它设计精良,主要面向初学者。在这里,你将学习Rust语法的基础知识,如何设置工具链等。
所有这些资源为你成为Rustaceans(使用Rust的人的互联网术语)铺平了道路。
初学者Rust编程
《初学者Rust编程》是一本适合初学者的Rust书籍。Ricc Messier在本书中涵盖了基本的Rust概念和实际应用示例。他详细介绍了Rust编程语言的细节,包括其自身的模型和丰富的类型系统。通过这本书,你将学会如何创建内存和线程安全的应用程序。该书还教你如何处理嵌入式系统。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Beginning Rust Programming | $30.00 | Buy on Amazon |
对于具有一些基本的C/C++知识的人来说,所有这些都使《初学者Rust编程》成为理想的选择,即使是初学者也可以从中开始编程。
使用Rust编程WebAssembly
《使用Rust编程WebAssembly》介绍了如何使用Rust创建互联网Web应用程序的令人印象深刻的方法。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Programming WebAssembly with Rust: Unified Development for Web, Mobile, and Embedded Applications | $31.07 | Buy on Amazon |
WebAssembly 是在现代浏览器上运行的低级语言。通过学习如何使用Rust与WebAssembly,您可以在浏览器上运行具有本机性能的快速Web应用程序。
在本书中,您将学习使用哪些工具集以及如何使用它们。此外,您还将学习如何将Rust代码与JavaScript集成。除此之外,您还将了解WebAssembly的基础知识,包括其工作原理、集成方式以及如何使用它创建快速的Web应用程序。
不过,只有当您已经熟悉Rust并希望将其与WebAssembly一起使用时,才选择这本书。对于绝对初学者来说,这本书不适合您。
Rust实战
如书名所示,《Rust实战》是一本实用的Rust编程语言入门书籍。它写得很好,适合初学者和有经验的Rust程序员。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Rust in Action | $56.99 | Buy on Amazon |
通过示例探索Rust语言,并教授关于计算机的知识。例如,您将在这里学习并处理内存、网络、持久存储和CPU指令。
除此之外,本书还涵盖了并发和并行编程等主题,为您提供编写快速、多线程代码的工具。如果您正在寻找实用的系统编程和初级到高级Rust编程知识,本书是一个绝佳的选择。
本书适合中级学习者。
编程Rust
Rust因其在系统编程方面的能力而闻名。而由Jim和Jason编写的《编程Rust》一书将教会您有关使用Rust进行系统编程的一切知识。完成本书后,您将能够编写可靠且高效的解决方案。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Programming Rust: Fast, Safe Systems Development | $43.99 | Buy on Amazon |
Jim和Jason知道Rust能让程序员编写无误的代码,并通过本书中的示例来展示这一点,提供了安全性和性能之间的精确联系。
本书从Rust基础知识开始,然后介绍如何编写高效灵活的代码。接下来,它涵盖了多线程代码,并教授如何使用Rust的重要工具,例如迭代器、闭包和异步编程。
动手学习Rust
《动手学习Rust》是我最喜欢的Rust书籍。它邀请读者学习Rust基础知识,特别适合那些已经熟悉C和C++编程语言的人。并通过实际项目解释这些主题,从简单的“Hello, World”程序到完整的地牢探险游戏。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Hands-on Rust: Effective Learning through 2D Game Development and Play | $40.99 | Buy on Amazon |
然而,这本书最大的卖点是它教授了你可以在流行的游戏引擎(包括Unity和Unreal)中使用的基本游戏开发技能。它还涵盖了Rust的主题,包括并发性、内存安全等等。
简而言之,如果你想在game development中使用它,那就选择《Hands-on Rust》吧。它提供了实际例子,让你准备好制作自己的游戏!
Rust Web编程
《Rust Web编程》是Maxwell Flitton编写的一本教你如何使用Rust创建Web应用的书。它使用Rust编程语言来构建高性能和安全的Web应用,结合其他Web技术,如Terraform、AWS部署和无发行版的Rust服务器。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Rust Web Programming: A hands-on guide to developing, packaging, and deploying fully functional Rust… | $44.99 | Buy on Amazon |
这本书还涵盖了Rust Web框架的实际例子,包括Hyper、Rocket和Actrix。这些实际例子包括使用可扩展的Rust创建基本的待办事项Web应用、管理身份验证、使用无发行版的Rust服务器、在AWS上构建等等。
这本书主要面向想要深入学习Rust Web编程的Web开发人员。
Rust for Rustaceans
《Rust for Rustaceans》是提升你的Rust技能的最佳书籍之一。这本书面向已经了解Rust但想要学习如何构建和维护更大的代码库、成功管理复杂项目以及编写强大的应用程序和库的程序员。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
Rust for Rustaceans: Idiomatic Programming for Experienced Developers | $38.86 | Buy on Amazon |
为了教授所有这些知识,该书涵盖了特质、所有权、不安全代码和并发性。您还将学习设计可靠、人性化和惯用的Rust程序。它还涵盖了Rust中的异步、声明性和过程宏。
Rust编程语言
《Rust编程语言》这本书是Rust核心团队校友Carol和Steve的著作之一,是一本很受欢迎的Rust书籍。在撰写本文时,已经售出超过50,000册。主要原因是它为您提供了创建可扩展和可靠软件的实用知识。
预览 | 产品 | 评分 | 价格 | |
---|---|---|---|---|
![]() |
The Rust Programming Language, 2nd Edition | No ratings yet | $36.99 | Buy on Amazon |
该书从基础知识开始,让您学会如何处理数据类型、函数和变量。一旦您熟悉了这些基本概念,作者将讨论高级概念,包括所有权、借用、特质、泛型、智能指针、多线程等等。它还介绍了Cargo以及如何使用它来构建和管理项目。
通过构建实际应用程序学习Rust
Udemy’s Learn Rust by Building Real Applications是最好的Rust课程之一。它涵盖了Rust基础知识、低级内存管理、解决编译器错误和内存安全的技巧。
该课程持续6.5小时,提供完成证书。
Rust基础知识
Rust Fundamentals是一门适合初学者的Rust课程。它涵盖了Rust语法和其他基本方面的内容。此外,它还涵盖了内存安全、可变性、借用和其他高级Rust概念。这是一门时长为4.5小时的短期课程。
Rust编程语言课程
Dmitri Nesteruk的Rust Programming Language course是一门备受好评的Udemy课程,教你如何使用Rust作为系统编程语言。
在这门课程中,Dmitri向你展示了如何在Rust中解决问题,涵盖了它的优势和劣势。此外,你还将学习如何通过编写应用程序和库来有效地使用Rust的内存安全性。最后,你还将测试和文档化你的代码。
这门课程很长,有8.5小时的点播视频内容。
从零开始学习Rust(免费课程)
Learn Rust from Scratch是来自Educative的免费课程。这是一门为期9小时的课程,你将学习有关Rust的知识。它从基础知识开始,如变量、数据类型、运算符、条件表达式和循环,然后逐渐过渡到更复杂的概念,如枚举、模块、内存管理和向量。
这门课程也适合没有编程经验的新手程序员!
Rust编程:完整开发者指南
如果你是一个初学者,但想要对Rust编程有更高级的理解,那么ZTM的Rust Programming: The Complete Developer’s Guide是一个不错的选择。
该课程涵盖了计算机编程的基础知识,然后迅速过渡到Rust的编程语言概念,包括特质、切片、内存、泛型和可变性。你还将了解Rust生态系统,并进行实际项目实践,以增加你的作品集。
终极Rust速成课程
Ultimate Rust Crash Course是Rust编程语言中的畅销课程,拥有超过30,000名学生和4.6的评分。该课程涵盖了Rust的基本概念以及工具和生态系统。
除此之外,该课程的教师Nathan Stocks还介绍了其他重要的与Rust相关的概念,包括引用、所有权借用、内存模型等。
奖励:Exercism Rust Track让你通过97个练习来探索Rust。而且这个系列的最好之处就是它是100%免费的。所以,如果你是一个初学者,并且想要从Rust开始,这门课程非常适合你!练习被分类为简单、中等和困难,所以你可以选择你想要的练习。然而,该课程适合学习Rust的语法和概念。
Rust博客
Rust博客是学习Rust概念、教程和用例的绝佳途径。你可以从official Rust blog开始入门。它会定期更新有用的内容。
接下来,查看聚合有趣Rust博客文章的ReadRust aggregator。除此之外,还可以看看以下博客:
最后,将Rust文集大师列表加入收藏夹,那里有一系列优秀的与Rust相关的博客文章。
Rust播客、新闻通讯、社区和论坛
你可以查看令人兴奋的播客、新闻通讯、社区和论坛,获取更多关于Rust的学习资源。
- 关于Rust的播客,请查看New Rustacean – 一款关于学习Rust的播客和This Week in Rust。我建议你查看Rustacean Station和Rust Game Dev on Apple Podcast。
- 关于社区,请查看Reddit的Rust社区。
- 你还可以查看Rust on Medium。
- Rust’s Discord community也是热情而乐于助人的。
最后的思考
Rust对于任何开发者来说都是一个很好的选择。它填补了低级编程语言(如C/C++)和高级编程语言(如Python)之间的差距。毕竟,Rust是一种内存安全、高性能的编程语言,使开发者可以完全控制程序的行为和功能。
除此之外,Rust的设计也将开发者的偏好置于首位,使其成为最受欢迎的编程语言之一。
一旦你开始使用Rust,你将迅速了解到Rust在技术上优于其他编程语言,并且几乎没有缺点。
然而,你也必须知道Rust仍然很新,这意味着它会更新新功能。这也暗示了它的库和文档还不成熟。它还会减慢开发速度,因为你需要处理Rust编译器的详细错误信息和较慢的编译时间(可以使用error-chain工具改善)。
总体而言,Rust是一个很好的选择!它支持WebAssembly,并且在市场需求增加的情况下越来越受欢迎。所以,恭喜你选择了Rust,祝你学习愉快。
另外,查看最佳Rust server hosting providers以了解在哪里托管你的Rust应用程序。