2024 春夏季开源操作系统训练营 日记

2024 春夏季 操作系统训练营正在进行中:4/7-6/30。

Note
本文章正在更新中,最新内容实时更新于: https://www.wolai.com/bosswnx/vxPit3Ngxm1uw2woYrQw25

这几天主要就是在写 rustlings。

注意:以下观点仅为个人想法,不具有参考意义。

我越学越觉得 Rust 的很多特性其实是为了给他严格的所有权机制打补丁。最明显的就是生命周期了,还有诸如 unsafe 等。刚好最近同时也在一家公司实习做操作系统内核开发,正在使用 C 语言,因此对这两门语言的风格颇有感受:

  • C 的原则就是「完全相信使用者」,因此你可以用 C 实现几乎所有操作,非常自由。但是为了安全,必须人为设计一些规范来进行约束。
  • Rust 的原则则是「完全不相信使用者」,所以你会发现 Rust 的很多语法都是为了约束程序员,强迫程序员写出安全的代码。但是,有些时候编译器还是不够聪明,或者说是无法进行判断,因此必须开点绿灯——unsafe 等。

在 Rust 身上可以找到很多为了弥补所有权机制而设计的语法,因此在学习的时候才会觉得 Rust 的语法很复杂。不过这种「语言规定好的规范」对于多人之间的项目合作,特别是开源来说,就是一种优势了。相比于 C 语言项目之间可能存在代码风格相差巨大的情况,Rust 写出来的代码基本上不会有太大的风格差异,这样在参考别人的代码,以及贡献代码的时候就会更为轻松。