跳到主要内容

Rust 简介

为什么要用 Rust

  • Rust 是一种令人兴奋的新编程语言,它可以让每个人编写可靠且高效的软件。
  • 它可以用来替换 C/C++,Rust 和它们具有同样的性能,但是很多常见的 bug 在编译时就可以被消灭。
  • Rust 是一种通用的编程语言,但是它更善于以下场景:
    • 需要运行时的速度
    • 需要内存安全
    • 更好地利用多处理器

与其他语言比较

  • C/C++ 性能非常好,但类型系统和内存都不太安全。
  • Java/C#,拥有 GC,能保证内存安全,也有很多优秀特性,但是性能不行。
  • Rust:
    • 安全
    • 无需 GC
    • 易于维护、调试,代码安全高效。

Rust 特别擅长的领域

  • 高性能 Web Service
  • WebAssembly
  • 命令行工具
  • 网络编程
  • 嵌入式设备
  • 系统编程

Rust 与 Firefox

  • Rust 最初是 Mozilla 公司的一个研究性项目,Firefox 是 Rust 产品应用的一个重要的例子。
  • Mozilla 一直以来都在用 Rust 创建一个名为 Servo 的实验性浏览器引擎,其中的所有内容都是并行执行的。目前 Servo 的部分功能已经被集成到 Firefox 里面了。
  • Firefox 原来的量子版就包含了 Servo 的 CSS 渲染引擎。Rust 使得 Firefox 在这方面得到了巨大的性能改进。

Rust 的用户和案例

  • Google:新操作系统 Fuschia,其中 Rust 代码量大约占 30%
  • Amazon:基于 Linux 开发的直接可以在裸机、虚拟机上运行容器的操作系统
  • System76:纯 Rust 开发了下一代安全操作系统 Redox
  • 蚂蚁金服:库操作系统 Occlum
  • 斯坦福和密歇根大学:嵌入式实时操作系统,应用于 Google 的加密产品
  • 微软:正在使用 Rust 重写 Windows 系统中的一些低级组件
  • 微软:WinRT/Rust 项目
  • Dropbox、、Yelp、Coursera、LINE、Cloudflare、Atlassian、npm、Ceph、百度、华为、Sentry、Deno ......

Rust 的优缺点

优点:

  • 性能
  • 安全性
  • 无所畏惧的并发

缺点:

  • 难学

注意:

  • Rust 有很多独有的概念,它们和现在大多主流语言都不同。
  • 所以学习 Rust 必须从基础概念一步一步学,否则会懵。