概要

当 Rust 被用于系统级/嵌入式编程时,它总是不免和目前应用仍最为广泛的 C 语言进行比较。那么 Rust 相比 C 有哪些优势和劣势,值不值得将 C 换成 Rust 呢?

在本文中,我们首先介绍 Rust 设计的三大目标:可靠性、易用性高性能。而后分别从这三大目标入手来快速介绍 Rust 的一些特性并和其他语言(特别是 C)进行比较。

本文可能比较有趣的部分:在可靠性部分,通过引入若干使用 C 很容易出现的 bug 并展示 Rust 如何在编译期解决它们,来更加形象具体地说明 Rust 的所有权机制和借用规则能够带来什么好处;同时也借此机会说明 Rust 内存模型中的一些核心概念,希望读者能够快速建立起初步的认知。

本文的很多内容来自于 stanford 今年新开的一门 Rust 课程:cs110L-2020spring

流量预警!下面是将 PPT 按页转成图片列在下面,也可以直接查看 pdf版本

我自己是一个有点纸上谈兵的初学者,应该会有很多错误,请大家不吝指出,谢谢!