Skip to content

为什么学习 Rust?

> 了解 Rust 解决的核心内存安全问题、核心优势与主要行业应用场景。

为什么学习 Rust?

Rust 解决了什么问题?

程序员小王写了一段 C++ 代码:

char* buffer = new char[100];
// ... 使用 buffer
// 忘记 delete 了!

// 或者更糟:
delete buffer;
buffer[0] = 'a';  // 使用已释放的内存!程序崩溃!

这种内存错误是 C/C++ 程序中最常见的 bug 来源。Rust 通过所有权系统在编译时就防止这些错误:

rust
// Rust 代码
let buffer = String::with_capacity(100);
// 使用 buffer
// 离开作用域时,Rust 自动释放内存!

// 如果想使用已释放的内存?编译器直接报错!
▶ Run

Rust 的核心优势

┌─────────────────────────────────────────────────────┐
│                  Rust 的优势                        │
├─────────────────────────────────────────────────────┤
│                                                     │
│  🛡️  内存安全    无需垃圾回收,编译时检查          │
│  ⚡  高性能      与 C/C++ 相当                      │
│  🧵  并发安全    编译时防止数据竞争                │
│  📦  工具链      Cargo 包管理,开箱即用            │
│  📚  文档       内置文档系统,rustdoc              │
│                                                     │
└─────────────────────────────────────────────────────┘

语言对比

语言优势劣势
Python易学易用运行慢,依赖环境
Java安全稳定内存占用大(GC)
C/C++高性能内存不安全
Rust安全 + 高性能学习曲线陡峭

谁在使用 Rust?

公司/项目用途
MicrosoftWindows 内核、Azure 服务
GoogleAndroid 系统、Fuchsia OS
Amazon AWSFirecracker、Bottlerocket
Meta后端服务、Source Control
Cloudflare网络服务、边缘计算
Discord实时消息服务(从 Go 迁移)
Firefox渲染引擎组件

小结

  • Rust 通过所有权系统在编译时防止内存错误,无需垃圾回收
  • 兼具 C/C++ 级别性能与现代语言的安全保证
  • 已被 Microsoft、Google、Amazon 等顶级公司用于生产系统
  • 学习曲线陡峭,但编译器的详细错误信息是最好的老师

练习题

详见:练习题