CS110L Spring 2020: Safety in Systems Programming
课程简介
CS110L将带领我们学习 Rust ,这是一门注重 安全、性能、工程 的语言。
-
Why Rust?
- 我的浅显理解是:Rust 被设计出来旨在解决目前系统级编程的困难,其特征 “安全、性能、工程” 也是应系统级编程的需求而来。在事实上挑战了C语言的地位,Rust 试图在拥有媲美 C 的性能的同时改善 C 在安全、工程上的不足。
- 更详细的回答1(by Rust语言圣经)
- 更详细的回答2(by Rust程序设计语言)
-
For Who?
- For everyone. 别质疑,先学习!
参考资料
作业&项目
- Exercises 1: Hello world
- Exercises 2: Ownership and structs
- Exercises 3: Error handling, I/O, and traits
- Exercises 4: Farm meets multithreading
- Exercises 5: Sharing Data by Communicating
- Project 1: The DEET Debugger
- Project 2: Balancebeam
一些说明
- 当我2022年11月计划学习 Rust 并从 CS自学指南 发现本课程时,Thea Rossman 的 2022版本CS110L 似乎把Github代码库设为仅选修该课程的本校同学可见,并且没有公开课程视频。所以我们仍关注 Ryan Eberhardt & Armin Namavari 的 2020版本CS110L 。二者稍有区别但对 Rust 学习不会产生实质影响:
- 课程内容稍有改动,涉及课程讲义、作业和项目,但仅是细节处的优化。二者可对比参照。
- Rust 在近几年快速演进,2020版本的项目所使用的库可能过于老旧而不再支持。可以预见的是 Rust 及 Rust 库会持续更新,如果 CS110L 继续闭源,是时可参考 Project-1 适配说明 和 Project-2 适配说明 而自行适配。
- Rust库适配过程本质上是API查阅的过程,我通常的做法是:
写在最后
- Rust以学习曲线陡峭著称,不可否认,但也不必担心。我想,除了语言开发团队在语言的各种特性上的取舍与平衡,我们这些使用者也在付出和得到间获得了平衡——更多的付出与更好的代码。
- Rust首次被合入Linux已经证明了能力,或许 Rust 生态真的会蓬勃发展吧 :)