Rust程序语言设计文档
Rust简介
什么是 Rust 为什么要用 Rust
- Rust 是一门令人兴奋的新编程语言,它可以让每个人编写可靠且(运行时)高效的软件。
- 他可以用来替换 C/C ,Rust 和他们同样具有高效的性能,但很多常见的 bug 会在编译时就被消灭掉。
- Rust 是一门通用编程语言,但在以下场景使用偏多:
- 需要运行时速度;
- 需要内存安全;
- 更好地利用多处理器;
和其他语言比较
- C/C :性能非常好,但系统类型和内存不安全;
- Java/C#:拥有GC机制保障内存安全,也有很多优秀特性,但是性能不行;
- Pascal:系统类型安全,但灵活性较差;
自身优势
- 安全性;
- 性能;
- 无所畏惧的并发;
特别擅长的领域
- 高性能的 Web Service、Web APP;
- 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
- 官网:https://www.rust-lang.org/
- Linux或Mac操作系统:
curl https://sh.rustup.rs -sSf | sh
- Windows:按官网指示操作
- Windows Subsystem for Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
更新与卸载
- 更新 Rust:
rustup update
- 卸载 Rust:
rustup self uninstall
- 安装验证:
rustc --version
- 本地文档:
rustup doc
开发工具
- Visual Studio Code - Rust 扩展
- Clion(Intellij Idea系列)-Rust 插件