用RUST进行系统编程的自学资源

Bluestorm's Space / 2023-07-05 / 原文

用RUST进行系统编程的自学资源

https://github.com/rcore-os/rCore/wiki/study-resource-of-system-programming-in-RUST

7~21天内高效学习 Rust 建议:

前提条件: 要求有基本数据结构,算法基础,相对了解或熟悉C/C++/Java等编程.

学习方案零
  1. 通过阅读并练习 Rust 教程 | 菜鸟教程) 等,全面梳理一遍 Rust 语法。期间可参考书目:(《 Rust by Example 》) 等)。(1~6天)
  2. 尝试完成编程小练习Small exercises to get you used to reading and writing Rust code!和中等规模练习,在实践中反复学习。(3~9天)
学习方案一
  1. 通过阅读并练习 《 Rust by Example 》) 等,全面梳理一遍 Rust 语法。期间可参考书目:(《Programming Rust》、《Rust权威指南》(即官方 Rust Book 中译本)、《Rust编程之道》第二章 、《深入浅出 Rust》等)。(1~6天)
  2. 尝试完成编程小练习Small exercises to get you used to reading and writing Rust code!和中等规模练习,在实践中反复学习。(3~9天)
学习方案二
  1. 阅读并学习Rust语言圣经(Rust教程 Rust Course)(1~6天)
  2. 完成配套练习Rust语言圣经配套练习 (1~6天)
  3. 完成编程小练习Small exercises to get you used to reading and writing Rust code!和中等规模练习,在实践中反复学习。(3~9天)
学习方案三
  1. 阅读并学习easy rust 中文版,观看配套视频 easy rust 中文字幕教学视频 (1~6天)
  2. 完成编程小练习Small exercises to get you used to reading and writing Rust code!(1~6天)
学习方案四
  1. 跟着 清华计算机系大一学生2022暑期课程:Rust程序设计训练 (有课程视频回放)进行学习 (3~10天)
  2. 完成编程小练习Small exercises to get you used to reading and writing Rust code!(1~6天)
学习方案五
  1. 如有较好编程基础,观看学习Rust语言编程教学视频张汉东的Rust实战课 (1~14天)
  2. 阅读并学习 张汉东老师《Rust 编程之道》书籍) (1~14天)
  3. 完成编程小练习Small exercises to get you used to reading and writing Rust code!和中等规模练习。(3~9天)
学习方案六
  1. 如有较好编程基础,观看学习Rust语言编程教学视频陈天 · Rust 编程第一课(1~14天)
  2. 尝试完成编程小练习Small exercises to get you used to reading and writing Rust code!和中等规模练习,在实践中反复学习。(3~9天)

自学材料和练习要求:

  1. 自学:阅读书籍

1.1 编程学习类书籍/文档

  • Rust-Lang社区中的文档中文翻译资源
  • Learn X in Y minutes Where X=Rust
  • Rust 程序设计语言 简体中文版
  • 通过例子学 Rust
  • RUST编程之道
    • 《Rust编程之道》随书源码
  • 深入浅出Rust
  • easy rust: simple textbook
    • easy rust 中文版
    • easy rust 中文字幕教学视频
  • Rust 的绅士(温柔)介绍
  • Rust Cookbook 中文版
    • Rust Cookbook-eng
  • Programming Rust 在讲解中与python, C/C++等进行了对比,对理解Rust的ownership,生命周期等有帮助
    • 中文版:Rust程序设计
  • A Guide to Porting C/C++ to Rust
  • Rust Design Patterns
  • HARD: The Rustonomicon
    • 难: The Rustonomicon 中文版:Rust 高级编程
  • Rust相关书籍信息大全
  • 难: Learn Rust With Entirely Too Many Linked Lists
    • 《Learn Rust With Entirely Too Many Linked Lists》的学习源码
    • 视频地址
  • Things you can’t do in Rust (and what to do instead)
  • 24 days from node.js to Rust
  • Rust语言圣经(Rust教程 Rust Course)
    • Rust语言圣经配套练习
  • Command Line Rust
    • 书籍源码 source code
  • Rust for professionals
  • Rust For Systems Programmers

1.2 参考和汇总类

  • Rust Design Patterns :各种常用编程模式的代码片段
  • cargo book 中文 :各种小应用(与系统类访问相关)的参考实现
  • Rust Reference中文版:Rust的语言描述
    • Rust Reference-eng
  • Rust Language Cheat Sheet:Rust语言特性的快速查找
  • Rust Compiler Error Index:rustc编译错误的详细描述和修改提示
  • Rust Learning 各种信息汇总:相关学习资料汇总(英文)
  • Rust学习资源:相关学习资料汇总(中文)
  • Rust 语言术语中英文对照表
  • awesome-rust:About A curated list of Rust code and resources. in rustcc
  • Awesome Rust in rust-unoffical
  • RustWHY Rust十万个为什么
  1. 自学:在线课程/教程

2.1 初级:学习Rust语言

  • 清华计算机系大一学生2022暑期课程:Rust程序设计训练
  • 中文:Rust编程视频教程(基础)--令狐壹冲
  • 中文:Rust编程视频教程(进阶)--令狐壹冲
  • Tour of Rust Rust 之旅
  • 英文:CIS 198: Rust Programming: University of Pennsylvania:2016
  • 英文:CS 110L: Safety in Systems Programming : spring 2020
    • bilibili镜像+中文字幕: CS 110L: Safety in Systems Programming : spring 2020

2.2 中级:如何用Rust写系统程序

  • 中文课程和作业笔记
  • 相关信息收集in github
  1. 自学:编程练习

3.1 初级编程:小练习题

  • Small exercises to get you used to reading and writing Rust code!

    • 要求:小练习全部通过。代码和README提交在自己在github的公开repo上。
  • 32 Rust Quizes

    • 要求:小练习全部通过。
  • Rust语言学习笔记和小练习

  • exercisms.io 快速练习(88+道题目的中文详细描述)

    • 要求:大部分练习会做或能读懂。
    • exercism.io官方站点

3.2 中级编程:100行左右的中小练习题

基于笨办法学C/python/ruby的书籍和例子,要求用rust语言重新实现15道以上的编程练习题

  • 参考Learn C The Hard Way 中文版
    • C语言练习题实现
  • 参考Learn Python 3 The Hard Way 视屏
    • LP3THW英文版和code
    • python3语言练习题实现
  • 参考Learn Ruby The Hard Way 中文版
    • ruby语言练习题实现
  • (进阶,可选)Algorithm in Rust: 基于Rust语言的经典算法,看看自己能否做出来
  • 要求:用rust语言编写完成某本“笨办法学(选择一种你熟悉的编程语言)”书中描述的题目中的15道以上的题目。代码和README提交在自己在github的公开repo上。
  • 如果不选择“笨办法系列”,可以选择类似Leecode的题目,用Rust实现,但需要在README中给出题目的出处和相关描述信息,并给出采用Rust语言和非Rust语言的实现代码。

3.3 中高级编程:能阅读和编写上百行的程序

  • 基本掌握RUST编程,能理解下面的rCore tutorial中的文档和代码。
  • (进阶,可选)BOOK:Rust in Action: 基于Rust语言的中小软件项目,看看自己能否做出来
    • Rust in Action source code