大家对 Rust 的印象
没接触过的:
编程界语言神

整天重构这重构那

还要 要干掉 c++ ?!

稍微了解过的:
学习曲线:

但实际上是:

第一个高峰是 借用检查器,第二个是异步,第三个是unsafe,第四个是宏怎么玩?
开始接触之后
编译器不让我写代码,怎么写都报错
写 rust 代码像是在跟 rust 编译器谈对象 ,
我只是传个参数,你跟我讲所有权、借用、生命周期?"
写的代码上线之后,还不错哦
- "别的语言项目上线流程"
- 内容:
- 编译 ✔
- 测试(偶尔挂一两条)✔
- 上线后:半夜被电话叫醒:❌
- "Rust 项目上线流程"
- 内容:
- 编译 ❌ ❌ ❌ ❌ ❌ (三天后)
- 编译 ✔
- 测试 (偶尔挂一两条)✔
- 上线:基本没人打电话 ✅
由此大家可能有点感受到我想下一步想说什么了
以及大家可能产生了一个疑惑

Rust 真的能减少 bug 么,吹牛吧
Rust 是否能减少 bug ?
Rust 最著名的承诺是内存安全(Memory Safety)和线程安全(Thread Safety) ,如果是真的,这直接消灭了两类最让大公司头疼的 Bug。
Google (Android 安全团队)
-
文章链接:
-
关键点
- We adopted Rust for its security and are seeing a 1000x reduction in memory safety vulnerability density compared to Android's C and C++ code . But the biggest surprise was Rust's impact on software delivery. With Rust changes having a 4x lower rollback rate and spending 25% less time in code review, the safer path is now also the faster one.
- 我们采用 Rust 是因为它安全性高,与 Android 的 C 和 C++ 代码相比,内存安全漏洞密度降低了 1000 倍。但最大的惊喜是 Rust 对软件交付的影响。Rust 的变更回滚率降低了 4 倍,代码审查时间也减少了 25% ,更安全的路径现在也更快了。
-
文章链接:
-
关键句
-
To date, there have been zero memory safety vulnerabilities discovered in Android's Rust code.
-
We don't expect that number to stay zero forever, but given the volume of new Rust code across two Android releases, and the security-sensitive components where it's being used, it's a significant result. It demonstrates that Rust is fulfilling its intended purpose of preventing Android's most common source of vulnerabilities. Historical vulnerability density is greater than 1/kLOC (1 vulnerability per thousand lines of code) in many of Android's C/C++ components (e.g. media, Bluetooth, NFC, etc). Based on this historical vulnerability density, it's likely that using Rust has already prevented hundreds of vulnerabilities from reaching production.
-
迄今为止,Android 的 Rust 代码中尚未发现任何内存安全漏洞。
-
我们并不指望这个数字永远为零,但考虑到两个 Android 版本中新增的 Rust 代码量,以及 Rust 被用于安全敏感组件,这确实是一个意义重大的结果。它表明 Rust 正在实现其预期目标,即防止 Android 最常见的漏洞来源。在 Android 的许多 C/C++ 组件(例如媒体、蓝牙、NFC 等)中,历史漏洞密度超过 1/kLOC(每千行代码一个漏洞)。基于这种历史漏洞密度,Rust 的使用很可能已经阻止了数百个漏洞进入生产环境。
-
Microsoft (MSRC)
这是微软承认 C/C++ 局限性的里程碑式文章,也是"70% 漏洞论"的出处。
-
文章链接:-
-
关键句:
-
roughly 70% of the security issues that the MSRC assigns a CVE to are memory safety issues. This means that if that software had been written in Rust, 70% of these security issues would most likely have been eliminated
-
大约 70% 是内存安全问题。这意味着,如果这些软件是用 Rust 编写的,那么其中 70% 的安全问题很可能已被消除。
-
AWS
-
文章链接:
-
关键点
-
Rust uses a strict type system and ownership model to achieve compile-time verification of memory and concurrency safety, making the cost of testing and validating Rust implementations significantly lower than C/C++. Carl Lerche, a principal AWS engineer, says Rust and Tokio give AWS the ability to write services that respond fast, reliably, and that help us offer a better customer experience.
-
Rust 使用严格的类型系统和所有权模型,实现了内存和并发安全性的编译时验证,使得 Rust 实现的测试和验证成本远低于 C/C++。AWS 首席工程师 Carl Lerche 表示,Rust 和 Tokio 让 AWS 能够编写响应迅速、可靠且有助于提供更佳客户体验的服务。
-
为什么 bug 少?
Rust 的设计理念以及思路是
我不相信程序员能写出健壮的程序,你要想你的程序没有内存安全问题,按照我说的做。
结果呢,就是 将上线期才会暴露的 问题,提前到编译期就告诉你,这样写不行,会出问题。
那具体怎么实现的呢?
Rust 的 3 条"约法三章":
-
所有权 / 借用(不讲名词,只讲规则)
-
空值 / Optional 的态度
-
并发 / 数据竞争的限制
约法一:谁负责资源,写死,不许糊弄
"Rust 的第一个原则: '每一块资源,必须有明确的唯一"负责人"。'
- 谁创建它
- 它能活多久
- 谁可以动它
这些东西不是靠约定,而是编译器在帮你追踪。"
约法二:可能失败 / 可能为空,必须写在类型上
从 Go / JS 角度解释 Result / Option 的思想,而不是语法。
你可以这样讲:
"第二个原则: '可能失败、可能为 null 的地方,必须在类型上写清楚,不能偷偷摸摸。'
在 Go 里:
- 很多函数签名是:
(T, error)- 但我们可以选择忽略
error,甚至_ = xxx。在 Rust 里,类似的东西会是:
Result:我可能成功也可能失败Option:我可能有值也可能没值区别在于: Rust 不太允许你装作'它一定没问题'。 你不处理,这段代码就过不了编译。 "
"Rust:你可以菜,但你不能不认真。 Go / JS:你要是想糊弄一下,我也不拦你。"
让大家感受到: Rust 把"错误/空值"从"约定"变成了"制度"。
约法三:并发访问数据,先说清楚怎么用
"Rust 的并发哲学: '要么你保证这份数据只有一个人能改,要么大家都只能看不能改。'
编译器会在你启动线程的那一刻,就检查:
- 你是不是把一个会被多处同时修改的东西到处乱传
- 你是不是把一个短命的数据借给了活得比它久的线程
如果有这种可能性: ------直接不给你编译通过。
Rust 性能怎么样呢?
开发者根据 The Benchmarks Game 的测试数据制作了一份可视化图表,如下所示,灰色反映的是时间效率,越短代表性能越好,棕色则是基于执行时间和内存开销的加权值。 (计算机语言基准测试游戏(以前称为计算机语言大比拼)是一个自由软件项目,用于比较给定的简单算法子集如何在各种流行的编程语言中实现。)

Web 框架性能对比
可以看到最快的10个框架中 Rust 前十占七

AWS Lambda 冷启动时间(Serverless 场景)"冷启动"就是你的程序从"沉睡"到"完全唤醒并开始工作"所需的时间。

还有个特殊视角:能耗:
跑完同一个任务需要消耗多少焦耳的电 ,这对于云原生时代(电费即成本)非常重要。
论文:

为什么快?
没有"垃圾回收"(No Garbage Collection)------ 最关键的差异
- Rust 没有垃圾回收器。它通过一套独特的**所有权(Ownership)**机制,在代码编译的时候,就已经精确计算出了每一个变量应该在什么时候被销毁。相比较于 带 GC 的语言的优势就是不会出现随机的"卡顿"(Latency Spikes)。
极其激进的编译器优化 (LLVM)
Rust 的编译器是出了名的"严格"和"慢",但这是为了生成极致的机器码。
- 静态分析:因为 Rust 的语法规则非常严格(比如强类型、不可变性),编译器能确信代码的某些部分永远不会改变,从而进行极其大胆的优化(比如直接删除冗余代码、内联函数调用),而动态语言(如 Python/JS)不敢这么做。
基于 Rust 的三大杀手锏------内存安全(不崩溃) 、极高性能(跑得快) 、无 GC (不卡顿) ,导致其适合的是那些"既要高可靠性,又要极限性能"的场景。
适用场景
例如 :
-
基础设施与底层系统:Linux Kernel 6.1 正式接纳 Rust 为第二官方语言(历史上只有 C 语言);Windows 内核重写部分组件。
-
高并发网络服务与网关(解决"长尾延迟")这是 Rust 正在疯狂增长的领域,主要用来解决 Go 或 Java 在超高并发下遇到的 GC 瓶颈。
-
嵌入式开发 (Embedded) & IoT 在资源受限的设备
-
命令行工具 (CLI) 与开发者生态,这是普通开发者最容易感知到 Rust 威力的地方。Rust 正在重写几乎所有经典的 Linux 命令行工具。
-
WebAssembly (Wasm) 与边缘计算,Rust 是目前 WebAssembly 生态中支持最好的语言,没有之一。
-
区块链 (Blockchain & Web3) Solana,Polkadot,Near Protocol,Aptos / Sui 等等
-
交易系统与量化金融 (Trading Systems & HFT):Binance 的许多核心撮合引擎和高性能网关,都在逐渐迁移到 Rust。
可以看到,大部分都是 c++ 的使用场景
没错!,c++ 干的了的 我 Rust 干,c++ 干不了的 我 Rust 更要干,统统重构,Linus 特许,这就是 Rust
感觉有点厉害,那 Rust实际好不好用呢 ?
当然除了学习难度我们县抛开不谈,在日常开发上,Rust 工具链可谓简洁实用,借鉴了 go/jRuby/Node.js 前辈的优点
-
Cargo:公认为是当今编程界最完美的包管理器 数据来源:
- 在 C/C++ 时代,构建一个跨平台项目简直是灾难。Rust 的 Cargo 不仅仅是一个包管理器,它是构建系统 + 包管理 + 测试运行器 + 文档生成器的四合一。
-
Rustfmt:代码格式化借鉴了gofmt。在团队开发中,最浪费时间的事情之一就是争论"花括号换不换行"或者"缩进用 2 个空格还是 4 个空格" Rust 官方直接提供 rustfmt。它有一套官方定义的"标准格式"。Code Review(代码审查)时,没有任何人会再评论格式问题,所有人的精力都集中在业务逻辑 和架构设计上。
-
Clippy:全自动的"高级导师"与"代码守门员"(重点)Clippy 是 Rust 的官方 Linter(静态分析工具),但它比普通的 Linter 强大得多。它不仅仅是检查错误,它是在教你写"地道"的 Rust 代码(Idiomatic Rust)。Clippy 的作用就是拉平这个差距:
-
纠正"方言",强制"普通话": Clippy 内置了超过 700 条 规则。它会识别出那些"能跑,但是写得很丑/很慢/很危险"的代码,并给出修改建议。
-
不仅指出问题,还自动修复: 很多时候,Clippy 可以直接通过 cargo clippy --fix 自动帮你把代码改成最优写法。
-
从仓库创建, 依赖拉取,格式统一,代码风格统一,代码检查,自动修复,代码测试,文档生成,crate 发布 Rust 工具链直接一条龙服务。
当然我其他语言用的比较少,这个可以问下会多种语言的 大佬们,实际体验是不是这样。
简单总结:
对大公司来说
-
优点:
- 更少的服务器:因为性能高(Cloudflare 案例)。
- 更少的维护:因为 Bug 少(Google 案例)。
- 更好的体验:因为无卡顿(Discord 案例)。
-
缺点:因为学习门槛高,开发人员少。招不到人
对个人来说:
-
优点:有第一梯队的 性能,有额外的安全检查,有好用的开发工具链
-
缺点: 学习门槛高,需要反复入门
到这里,大家对公司来说 Rust 的优缺点应该没什么异议,
对个人来说的观点 可能大多数程序员不敢苟同
你说这个编程语言,这么厉害,有什么用啊,能让我早下班,能给我多发点工资么?
来看一个 2024-2025 年 不同编程语言薪资水平 数据
数据分析平台 DevJobsScanner 分析了来自世界各地超过 1000 万个开发职位,以帮助我们了解市场以及最热门、薪资最高的语言。在本研究中,仅关注来自美国的职位。这确保了结果更加一致和具有代表性,并显著降低了任何潜在的数据偏差
链接:
Solidity 是运行在 evm虚 拟机上的 智能合约语言
Clojure 是运行在 Java 虚拟机(JVM)上的现代 Lisp 方言。



还有人说了:那你也只是现在工资高,未来呢?我好不容易学会了,Rust 不火了那不白学了
未来发展
未来什么样,谁也说不了,但是我们可以来看这样一组数据:
2025 年 Stackoverflow 统计的最 Admired 的编程语言(指用了还想用,用户满意度高) ( 在过去一年里使用了该语言,并且在来年还想继续使用该语言的开发者比例)

至此 自 Rust 2015 年 5 月发布以来, 从2016-2025年 连续 10 年并持续霸榜成为用户满意度最高的语言。
达成了 " 出道 10 年,霸榜 10 年 " 的成就。
能否说明未来发展前景广阔
大家问那2015年呢?2015年是空降第三。

最终结论:
对个人来说
喜欢高性能,高 安全性 -> Rust!
提前布局未来,选有发展的 编程语言 -> Rust!
想要多赚钱 -> Rust!
所以,这样 狂拽炫酷吊炸天,程序猿用了都说好,并且薪资拉满的 Rust 真的不学一下么?
Pomelo_刘金。转载请注明原文链接。感谢!
不学错过未来,错过一个亿哦