0%

2024春夏季开源操作系统训练营第一阶段总结-廖嘉琦

Rust学习感悟

早在今年寒假时就打算学习Rust,奈何一直没有开工。四月份在群里偶然看到了2024春夏季开源操作系统训练营,这才算是开始了Rust学习之旅。

我的Rust入门学习主要是通过阅读和练习两点。

阅读其一是Rust 语言圣经

阅读其二是The Rust Programming Language

练习其一是Rust By Practice

练习其二则是训练营第一阶段的rustlings

  • Github: GitHub - rust-lang/rustlings: :crab: Small exercises to get you used to reading and writing Rust code!

  • intro ✅ 2024-04-09

  • variables ✅ 2024-04-09

  • functions ✅ 2024-04-11

  • if ✅ 2024-04-11

  • primitive_types ✅ 2024-04-11

  • vecs ✅ 2024-04-16

  • primitive_types ✅ 2024-04-16

  • move_semantics ✅ 2024-04-16

  • structs ✅ 2024-04-16

  • enums ✅ 2024-04-16

  • strings ✅ 2024-04-16

  • modules ✅ 2024-04-16

  • options ✅ 2024-04-16

  • hashmaps ✅ 2024-04-16

  • error_handing ✅ 2024-04-16

  • generics ✅ 2024-04-20

  • lifetimes ✅ 2024-04-20

  • traits ✅ 2024-04-20

  • iterators ✅ 2024-04-20

  • tests ✅ 2024-04-21

  • macros ✅ 2024-04-21

  • threads ✅ 2024-04-21

  • clippy ✅ 2024-04-21

  • conversions ✅ 2024-04-21

  • smart_pointers ✅ 2024-04-21

  • quiz ✅ 2024-04-21

  • algorithms ✅ 2024-04-22

在此过程中,Rust的所有权(Ownership)、生命周期(Lifetimes)、特型(Traits),以及函数式编程中常见的模式匹配(Patterns and Matching)等概念给我留下了深刻的印象。当然,最为深刻的还是Rust的编译器。

我认为在编写极为熟练的代码时,Rust严苛的编译器确实拖慢了我的编码速度(例如写个链表那叫一个费劲),但是从另一方面看,它尽可能地保证了我写出没有歧义的、不会在运行时错误的更健壮的代码。

总的来说,Rust的入门体验还不错,希望在接下来的学习中,我能更进一步地掌握它的特性,以及它在操作系统中内核级代码的应用。