什么是 Rust?
Rust 是一种多范式的通用编程语言,运行速度极快,强调性能、类型安全和并发性。它旨在为系统编程带来现代语言设计和高级类型系统。
Rust 的效率来自其内存安全性,它拒绝传统的垃圾收集器,而是通过所有权和借用的新颖概念来管理内存。在 Rust 中,你可以自动编写安全、正确的代码,这要归功于其严格但有用的编译器,它甚至可以在代码运行之前准确地告诉你代码中发生错误的位置!
Rust 经常用于编写稳定、高性能的代码。常见的应用程序包括: CLI 工具、网络、嵌入式服务和最令人兴奋的 WebAssembly。
最佳Rust课程大纲
以下,是2022年 10套最佳Rust课程大纲,你可以点击课程链接,跳转到对应的课程介绍。
课程名称 | 课程时长 | 课程简介 |
---|---|---|
1. Rust Programming Course for Beginners – Tutorial (freeCodeCamp) | 1-2小时 | 最佳简明入门课程 |
2. Take your first steps with Rust (Microsoft Learn) | 5-6个小时时长 | 带免费证书的最佳互动课程 |
3. Easy Rust: bite-sized Rust tutorials (YouTube) | 23个小时 | 最佳综合课程 |
4. Rust Programming Tutorial (YouTube) | 2个小时 | 最佳中级课程 |
5. Rustlings (The Rust Programming Language) | 自定进度 | 最佳中级 Rust 编程练习 |
6. Rust on Exercism (Exercism) | 自定进度 | 第5套课程的替代方案,但包括指导 |
7. From Python to Rust (YouTube) | 14个小时 | 最适合 Python 程序员 |
8. Rust Essential Training (LinkedIn Learning) | 7个小时 | 最佳LinkedIn学习课程 |
9. Rust in Motion (manning.com) | 4个小时 | 最佳结构化课程 |
10. Learn Rust by Building Real Applications (Udemy) | 7个小时 | 最佳实战项目课程 |
1. Rust Programming Course for Beginners – Tutorial (freeCodeCamp)
我们首选的最佳 Rust 课程,是来自 freeCodeCamp 的 Rust Programming Course for Beginners (免费)。
这个简短的,交互式的免费课程,最适合 Rust 初学者或那些只是对 Rust 编程语言的优秀特性感到好奇的人。
参加本课程,你需要基本的编程知识,或者另一种编程语言的经验。
此外,还有一个 replit 链接,可让你从浏览器中学习 rust。在课程结束时,你将掌握 Rust 的基础知识,并构建了一个 CLI 计算器和一个图像组合器。
你会学到什么
本课程从 Rust 编程语言的概述开始,首先介绍其通过严格的错误检查和有用的错误消息引导程序员自然地编写可靠、高效的代码的理念。
接下来,你将学习编写 Rust 代码所需的核心编程概念。你将通过实现一个 CLI 计算器来学习,该计算器可以在命令行中执行基本的算术校正。
紧接着,你将学习如何编写变量、解析字符串、声明函数、实现条件和循环,然后最终调试和编译代码。
之后,你将创建一个图像组合器,它获取两张图像并将它们的像素组合成一个新图像。你将在这里探索更高级的编程技术,例如使用结构、类型和特征创建自己的数据结构,创建公共和私有模块,处理错误等等。
课程详情
本课程时长 1-2 小时。你可以通过观看讲座视频,以及亲自动手来进行实践学习。
课程来源 | YouTube(freeCodeCamp) |
国内资源 | Bilibili |
讲师 | Shaun Hamilton |
等级 | 初级 |
时长 | 总共 1-2 小时 |
播放量 | 189K |
喜欢 | 4.2K |
证书 | 无 |
freeCodeCamp 在其 YouTube 频道上提供许多其他关于各种编程语言的教程和课程,并在其网站上提供 13 门成熟的课程。
Shaun Hamilton 是 freeCodeCamp 的一名软件开发人员。同时他也是一名机械工程师和音乐家。
2. Take your first steps with Rust (Microsoft Learn)
我们对最佳 Rust 课程的第二个选择是,通过 Take your first steps with Rust(免费)。
这是一个带有免费证书的简单 Rust入门课程,在课程结束时,你将能够创建简单的命令行程序。
参加本课程不需要任何先决条件。
你会学到什么
本课程首先快速介绍了 Rust 语言与其他编程语言的区别,以及与 Rust 一起使用的基本组件的特性,例如通过使用 Rust 的构建工具 Cargo 编写程序来熟悉 Rust 开发环境。
接下来,你将了解变量、数据类型和函数等核心编程概念,并了解如何使用 if/else 语句来测试条件和循环以遍历数组、向量和哈希映射等复合数据类型。
然后,你将编写一个简单的程序,记录使用枚举处理 Rust 中的错误。
所有权和借用是基本概念,它们通过跟踪数据在整个程序中的使用位置来使 Rust 快速并安全运行。你将了解所有权规则、Rust 引用的指针类型,以及允许函数接受不同类型参数的泛型类型和特征。
与许多其他语言一样,Rust 也有模块管理和第三方包,Rust 的第三方包称为 crate 。你将学习如何在文件、模块和包中组织你的代码,以及如何使用来自 Crates.io 存储库的第三方包。
你还将了解三种类型的测试:单元测试、集成测试和文档测试。
在最后一个部分,你将通过使用第三方 crate 进行命令行解析和错误处理来开发一个真实的命令行程序。
课程详情
本课程时长 5-6 小时,由 11 个模块组成。你可以通过阅读文章、查看代码示例并通过在浏览器集成的 Rust 游乐场中编码来完成学习和练习。
课程来源 | 微软学习 |
等级 | 初学者 |
时长 | 总共 5–6 小时 |
证书 | 免费证书 |
Microsoft Learn 提供许多其他常见的编程课程,例如 JavaScript 和 C#,并提供免费证书。大厂出品的免费课程,质量往往比过国内的小作坊培训班的收费课程,要高上很多。
3. Easy Rust: bite-sized Rust tutorials (YouTube)
我们对最佳 Rust 课程的第三个选择是 Easy Rust: bite-sized Rust tutorials(免费)。
这个全面的免费课程,将教你所有你需要知道的关于 Rust 的知识,从基础到高级。这是一个基于流行书籍 Easy Rust 的视频课程,是由同一作者制作的。
你还可以在浏览器中的 Rust 游乐场中,在线完成大部分编码项目!
你会学到什么
本课程从基本的编程概念开始,如变量、数据类型和类型推断。
然后,你将学习如何在屏幕上显示输出文本以及调试发生的任何编译器错误(由于 Rust 的详细错误消息,这是一个简单的过程)。你还将学习如何在代码中编写条件和循环。
之后,你将了解有助于确保内存访问安全的参考内容。这与所有权规则和借用 Rust 布局有关,以便你的代码正确有效地运行。
你还好了解到其他数据结构,例如向量和元组。此外,你可以使用结构和枚举创建自己的数据结构。你还将了解生命周期,它告诉你变量的生存时间,以及其他更高级的主题,例如编写多线程代码。
课程最后涵盖了一些无法在线完成的主题,例如,使用 Rust 的包管理系统和与文件交互。
课程详情
本课程时长 23 小时。你可以通过观看讲座视频来学习,以及通过在线练习来进行技能实践。
课程来源 | YouTube(mithradates) |
国内观看 | Bilibili |
讲师 | David MacLeod |
等级 | 初级 |
时长 | 共 23 小时 |
播放量 | 85K |
证书 | 无 |
David MacLeod 是居住在韩国的加拿大人。他用简单的英语编写了 Easy Rust,以帮助非母语人士学习 Rust 语言。
4. Rust Programming Tutorial (YouTube)
这门名为 Rust Programming Tutorial 的免费课程,涵盖了完整的Rust基础知识,以及部分高级概念。
要参加本课程,你需要熟悉编程概念,或熟悉另一种编程语言。
你会学到什么
本课程首先简要介绍了 Rust 及其独特功能。
然后,该课程涵盖了 Rust 常用的一些工具,例如 cargo,一个包管理器,可以轻松构建、运行和创建 Rust 项目。
紧接着,将讨论变量、常量和阴影,以及确保用户在运行时不会遇到意外错误的 Rust 强类型数据类型。
然后,你将了解 Rust 的控制台输入、算术和类型转换。以及可帮助你做出决策和循环代码部分的控制流语句。
最后,你将学习如何在 Rust 中编写函数。
课程的最后一部分介绍了 Rust 的内存管理系统,尤其是所有权和借用的概念。
课程详情
本课程时长 2 小时。你可以通过观看讲座视频,并跟随讲师编写代码来同步学习。
课程来源 | YouTube(Tech With Tim) |
国内观看 | Bilibili |
讲师 | Tim Ruscica |
等级 | 中级 |
时长 | 共 2 小时 |
播放量 | 74K |
证书 | 无 |
Tech With Tim 是一个优秀的YouTube频道, 涵盖了各种编程语言和概念,最受欢迎的课程是他的 Python 课程。
5. Rustlings (The Rust Programming Language)
与其他课程相比,Rustlings 是一门独特的课程。
这套免费课程是由 The Rust Programming Language 的开发人员自己创建,包含一组练习,可帮助初学者掌握 Rust 语言的窍门。
你将学习到从变量、字符串、枚举、特征和泛型的Rust基础知识。你还可以在浏览器中编写代码。
在学习这套课程之前,你需要对 Rust 有一些基本的了解。
你会学到什么
该课程包含 20 多个主题和几个基于它们的练习。包括变量、控制循环和 if 语句,以及错误处理、泛型和线程。
课程中包含的主题如下:clippy、转换、枚举、错误处理、函数、泛型、hashmaps、if、介绍、生命周期、宏、模块、移动语义、选项、原始类型、标准库类型、字符串、结构、测试、线程、特征、变量和向量。
课程详情
你可以通过完成练习来学习动手编码。如果遇到困难,你可以查看提示和解决方案。还有 3 个测验可以测试你对 Rust 的整体了解。
课程来源 | GitHub |
等级 | 中级 |
时长 | 自定进度 |
证书 | 无 |
你可以将此课程与 The Rust Programming Language 这本书搭配一起学习,因为某些练习直接与其中的某些章节配对。
6. Rust on Exercism (Exercism)
Exercism 是一个在线、开源、免费的编码平台,你可以在其中通过有趣的练习练习你的编码技能,并接受专门志愿者的指导。
这个平台的一个特别之处是你将免费获得个人指导。当你解决了一个练习后,志愿者团队将对其进行审核,并提供反馈以帮助你改进代码。
练习从易到难,因此该平台适合所有级别的程序员。
你会学到什么
总共有 103 道难度范围的练习。你将从打印“Hello, World!”的教程练习开始。并学习如何使用一些基本的编程概念,如结构、元组、哈希映射和枚举。
之后,你将在三个难度的练习中进行选择:简单、中等和困难。
一些简单的练习包括计算第 n 个素数、匹配括号以及找到千兆秒。
同时,中等练习包括构建字谜,实现一个处理没有日期的时间的时钟,以及实现二进制搜索算法。
一些最具挑战性的练习是从黑白像素网格中光学识别数字,制作多米诺骨牌链,以及实现双向链表。
课程详情
本课程是自定进度的,因此你可以花时间完成 103 个动手编程练习。每个练习都附带对你的代码的自动分析以及个人指导,以帮助你了解代码的优势和缺陷。
课程来源 | Exercism |
等级 | 初级 – 高级 |
时长 | 自定进度 |
学生数 | 57K |
证书 | 无 |
Exercism 提供了 50 多种编程语言的练习,例如 Python、Kotlin、F# 和 WebAssembly。
他们的使命是帮助每个人真正掌握编程,无论他们的背景如何,分享对编程的热爱,并帮助人们提高技能,作为他们向上社会流动的一部分。
在撰写本文时,已有 200 多人为 Rust 教学大纲做出了贡献,并且有 700 多名导师在线。
7. From Python to Rust (YouTube)
如果你是一名希望探索 Rust 编程语言的 Python 程序员,本课程将简化从高级语言到低级语言的过渡。
From Python to Rust,是由 Michael Kefeder 在YouTube中提供的免费视频课程。你将通过比较 Python 代码和 Rust 代码来学习如何在 Rust 中编写性能关键代码。在课程结束时,你将对 Rust 有一个深刻的理解。
你会学到什么
本课程首先比较 Python 和 Rust 语言,以及Rust的优势。
你将从变量和数字等标准编程概念开始,然后,研究 Rust 生态系统,调试器和第三方库。
紧接着,你将学习一些数据结构,如元组、数组、切片、列表和字符串,你还将了解如何编写函数和闭包以及它们与 Python 函数的关系。
然后是数据结构,哈希图、迭代器、错误处理、特征以及 Python 中不可用的东西:智能指针。
最重要的是,你将实现类似于 Python 的单元测试,并且知道如何调试 Rust 代码。
以下主题是如何在 Rust 中替换常见的 Python 命令,如多线程、异步和上下文管理器。此外,你还将学习如何在 Rust 中编写 Python 模块,甚至学习如何将 Python 嵌入到 Rust 中!
最后几章涉及 Web 开发概念,如套接字、JSON、HTTP 服务器和 WebSocket,以及 图形处理、GUI 编程、绘图和 SQLite。
课程详情
本课程时长 14 小时。你可以通过观看讲座视频、跟随讲师编写代码以及查看GitHub 上提供的源代码来学习。
8. Rust Essential Training (LinkedIn Learning)
Rust Essential Training 涵盖了 Rust 的关键组件,从基本的编程概念开始,包括变量、数据类型、函数和控制循环,然后转到 Rust 独有的一些核心概念,包括所有权、借用引用和 crate。
参加这个1 个月的免费试用课程,不需要任何编程经验。
你会学到什么
本课程首先剖析典型的 Rust 程序,并说明如何在系统中设置 Rust 和其他与 Rust 相关的组件。
然后,你将从学习原始数据类型(如整数和布尔值)和复合数据类型(如数组和元组)开始。接下来,你将学习如何操作这些数据类型以产生输出。之后,你将了解函数以及它们如何通过返回值导致代码重用。你还会了解程序流控制,其中包括条件和循环。
然后,该课程将重点转移到所有权和借款的概念上。首先,你将了解内存管理上下文中的变量范围、引用和切片。然后,你将探索各种模块和称为 crates 的第三方库,你可以将它们调整到你的代码中,并创建一个可以读取和写入文件的命令行应用程序。
课程的最后部分涵盖了高级编程概念。你将了解允许你创建数据结构的结构。你还将了解通过添加行为来增加结构功能的泛型类型和特征。此外,你将了解生命周期以及它们如何与借用检查器交互、枚举与结构有何不同、如何处理错误以及 Rust 的集合库。
课程详情
本课程时长 7 小时,由 16 个部分组成。你将通过观看讲座视频并通过练习编码技能来学习。
课程来源 | LInkedIn Learning |
课程下载 | 高清视频+中文字幕+配套课件 |
讲师 | Barron Stone |
等级 | 初级 |
时长 | 共 7 小时 |
学生数 | 11K |
评分 | 4.8 / 5.0 (238) |
证书 | 付费 |
Barron Stone 是一名电气工程师,他通过编写 LinkedIn Learning 课程来教授电子和软件开发技能,与全世界分享他对工程的书呆子般的热爱。他有超过 15 门关于 LinkedIn 学习的课程。
9. Rust in Motion (manning.com)
Rust in Motion 由 Rust 的开发人员创建,通过代码示例和真实场景向你介绍 Rust 编程语言。涵盖变量、函数、枚举、结构等基础知识,以及所有权和借用、错误处理和生命周期注释等高级知识。
这是一个付费课程,参考此课程需要具备其他编程语言的经验。
你会学到什么
第一个单元首先介绍了你在其他语言中可能遇到的构造的基本语法,例如变量、数据类型和函数,但重点介绍了它们在 Rust 中的不同之处。
然后,是所有权和借用,这些概念渗透到所有 Rust 代码并确保 Rust 中的内存安全。
在 Rust 中工作时出现编译器错误是很常见的。这是因为 Rust 编译器迫使你考虑程序可能失败的所有方式,这在原型设计时可能会令人沮丧,但会导致更健壮的生产代码。幸运的是,Rust 的错误消息易于理解且很有帮助。
本课程的最后一个单元是关于生命周期的——编译器用来确保所有引用都有效的机制。该课程揭开了这个概念的神秘面纱,并描述了需要生命周期注释的场景。
课程详情
本课程时长 4 小时,由 4 个单元组成。你将通过观看交互式讲座视频、完成可选练习和参与论坛来学习。
课程来源 | manning.com |
讲师 | Carol Nichols,Jake Goulding |
等级 | 初级 |
时长 | 总共4小时 |
证书 | 付费 |
本课程是Rust 入门包的一部分,其中还包括Rust in Action一书。
Carol Nichols 是 The Rust Programming Language 的合著者,并且是 Rust 核心团队的成员,而 Jake Goulding 是 Rust FFI Omnibus 的创建者,Rust 基础设施团队的成员,并且是 Rust 标签的主要贡献者关于堆栈溢出。
Carol 和 Jake 共同创立了世界上第一家 Rust 咨询公司 Integer 32。
10. Learn Rust by Building Real Applications (Udemy)
Learn Rust by Building Real Applications 这是一门通过搭建实际应用程序,教你 Rust 的基础知识的课程。此课程循序渐进,从基础知识开始,直到你能够构建高级应用程序并解决问题。
这是一套Udemy付费课程,你需要基本的计算机科学知识和至少一种其他编程语言的经验。
你会学到什么
本课程从关于低级内存管理的简短理论部分开始。然后,你将学习 Rust 中的堆栈、堆和智能指针,包括它们的实现。
然后,本课程着眼于构建一个简单的命令行应用程序。接下来,你将了解基本的编程概念,如数据类型、函数、可变性和标准库,以及 Rust 的关键特性——所有权和借用。最后,你将使用 GNU 项目调试器调试你的应用程序。
在实现 CLI 应用程序之后,你将开始一个更重要、更高级的项目:通过编写自定义 HTTP 协议实现从头开始构建一个工作 HTTP 服务器。你将了解所有基本和高级功能,例如数据结构、特征和类型、生命周期和调度系统。
课程详情
本课程时长 7 小时。你可以通过观看和学习讲座视频、跟随讲师编写代码以及回答期末测验来学习。
课程来源 | Udemy |
课程下载 | 高清视频+中英字幕+配套课件 |
讲师 | Lyubomir Gavadinov |
等级 | 中级 |
时长 | 共 7 小时 |
学生数 | 12K |
评分 | 4.6 / 5.0 (2.3K) |
证书 | 付费 |
Lyubomir Gavadinov 是一名高级软件工程师,也是一名Udmey课程讲师,在多家公司工作超过 7 年。
总结
Rust 深受开发人员的喜爱,根据年度StackOverflow 开发人员调查,连续 6 次成为最受欢迎的语言。在本文中,我们介绍了10套最佳 Rust 视频课程,其中大多数课程都是免费的。
有些课程简明扼要,可以让你立即上手,也有一些课程,专注于特定的技能或背景。
例如:
From Python to Rust 课程,就是很适合Python程序员学习,
Learn Rust by Building Real Applications,可以通过项目实战来巩固你的知识成果,
其中Microsoft 的课程还可以提供免费证书。
尽管 Rust 是一个相对较新的编程语言,但它正越来越多地被越来越多的公司所接受,除了本文介绍的免费Rust课程外,你还可以到口袋资源网,学习更多高质量的Rust付费课程。
如果本站的内容对你有帮助,可以点击这儿,不花一分钱捐赠本站