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 必须从基础概念一步一步学,否则会懵。