当前位置:网站首页>Rust学习笔记:1.1 简介与安装
Rust学习笔记:1.1 简介与安装
2022-08-05 19:45:00 【Dioxide.CN】
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 插件
边栏推荐
猜你喜欢
随机推荐
The MVC design ideas
2242902-55-0_Desthiobiotin-phenol_脱硫生物素价格
PX4模块设计之十六:Hardfault模块
张高兴的 .NET IoT 入门指南:(八)基于 GPS 的 NTP 时间同步服务器
JVM参数配置说明
第04篇:Guava-retry重试组件
The method of connecting to the local mysql8.0.30 database in the docker container
DirectX修复工具有什么用
SteamCMD是什么怎么用开服教程
Mysql insert and update processing field is the key database
数据迟到超过1天
ASM字节码插桩
软件测试基础理论(2)
Interview Question 02.07. Linked List Intersection - Double Pointer Method
【StoneDB模块介绍】工具类
Zhang Xing's .NET IoT Getting Started Guide: (8) GPS-based NTP Time Synchronization Server
SQL退单次数计算
一文看懂推荐系统:召回08:双塔模型——线上服务需要离线存物品向量、模型更新分为全量更新和增量更新
MySQL获取月份和季度
Basic application of Js









