跳转至

Rust简介

1 为什么要使用Rust?

Rust是一种令人兴奋的新兴编程语言,它可以让每个人编写可靠且高效的软件。Rust可以用来替换C/C++,Rust和他们具有相同的性能,但是很多常见的bug在编译时就可以被消灭。Rust是一种通用的编程语言,但是它更善于以下场景:

  • 需要运行时的速度
  • 需要内存安全
  • 更好地利用多核处理器

2 Rust与其他语言的比较

C/C++性能非常好,但类型系统和内存都不太安全。Java/C#拥有GC(内存回收器),能保证内存安全,也有很多优秀特性,但是性能相对C/C++不足。Rust则具有这两类语言的共同优点:

  • 安全
  • 无需GC
  • 易于维护、调试,代码安全高效

3 Rust擅长的领域

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

4 Rust与Firefox

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

5 Rust的用户案例

  • Google: 新操作系统 Fuschia ,其中 Rust 代码量大约占30%

  • Amazon: 基于Linux开发了可以在直接裸机、虚拟机上运行容器的操作系统

  • System76: 使用纯Rust开发了下一代安全操作系统 Redox

  • 蚂蚁金服: 库操作系统 Occlum

  • 斯坦福和密歇根大学: 使用 Rust 开发嵌入式实时操作系统,应用于 Google 的加密产品

  • 微软: 正在使用 Rust 重写 Windows 中的一些低级的系统组件

  • 微软: WinRT/Rust 项目

  • Drobox、Yelp、Coursera、LINE、Cloudflare、Alassian、npm、Ceph、百度、华为、Sentry、Deno...

6 Rust的优点

  • 性能高

  • 安全性高

  • 无所畏惧的并发

8 总结

Rust是一门面向未来的编程语言,我相信学习Rust可以让自己未来发展之路越走越远。但也要注意的是,Rust 有很多独有的概念,它们和现在大多数主流语言都不同,所以学习 Rust 的时候必须从基础概念一步一步地学。