0%

Rust 学习笔记:第1章 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 项目

Rust 的优点

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

Rust 的缺点

  • “难学”

注意

  • Rust 有很多独有的概念,它们和现在大多数主流语言都不同

    所以学习 Rust 必须从基础概念一步步学,否则会懵