Rust 的优势
Rust 有一些独特的卖点:
编译时内存安全:在编译时可防止所有类内存 bug
- 不存在未初始化的变量。
- 不存在“双重释放”。
- 不存在“释放后使用”。
- 不存在
NULL
指针。 - 不存在被遗忘的互斥锁。
- 不存在线程之间的数据竞争。
- 不存在迭代器失效。
没有未定义的运行时行为:每个 Rust 语句的行为都有明确定义
- 数组访问有边界检查。
- 整数溢出有明确定义(panic 或回绕)。
现代语言功能:具有与高级语言一样丰富且人性化的表达能力
- 枚举和模式匹配。
- 泛型。
- 无额外开销的外部函数接口(FFI)。
- 零成本抽象。
- 强大的编译器错误提示。
- 内置依赖管理器。
- 对测试的内置支持。
- 优秀的语言服务协议(Language Server Protocol)支持。
This slide should take about 3 minutes.
不用在这里占用过多时间。所有这些要点均会在后面进行详细讲解。
应该问问学生们都使用过哪些语言。根据答案侧重讲解 Rust 的不同特性:
使用过 C 或 C++:Rust 利用借用检查消除了一类 运行时错误 。你可以达到堪比 C 和 C++ 的性能,而没有内存不安全的问题。并且你还可以得到些现代的语言构造,比如模式匹配和内置依赖管理。
使用过 Java、Go、Python、JavaScript……:你可以得到和这些语言相同的内存安全特性,并拥有类似的使用高级语言的感受。同时你可以得到类似 C 和 C++ 的高速且可预测的执行性能(无垃圾回收机制),以及在需要时对底层硬件的访问。