不要使用 Rust 的 10 个理由(大实话)
dhdbhdhdb
2026年03月04日 10:06

如今关于Rust的议论无处不在

在某个不管会不会写代码的人都爱逛的网站上,Rust连续7年被评为最受喜爱的编程语言

不知道你怎么样,反正我已经受够了这股铺天盖地的Rust炒作

听他们吹,这玩意儿简直比切片面包[1]还伟大

我认为是时候有人鼓起勇气,告诉大众Rust这门语言的真面目以及它对科技行业造成的真实伤害

以下是10个不该用Rust的理由

1. 它威胁就业安全

Rust吹说编译期就能拦截大量错误,乍一听不错,可想一想有多少人靠反复修Go之类语言里的同类bug领工资

不管是数据竞争、空值bug还是静默崩溃,都一样

就是这些bug让大伙有饭吃有衣穿

2. 它进化太慢

Rust问世12年,稳定版8年,居然还不支持null

几乎所以语言都支持:c、cpp、java、c#、python、ruby、JavaScript,就Rust不支持

它有个option类型,可它不一样,逼你同时处理some和none,平白无故搞复杂

3. 它进化太快

Rust每6周发布version,每3年整一个edition

2018年之前,想组织项目就要有mod.rs

现在就不建议怎么写,说是会出现大量语义不明确的文件。导出宏也一样

当然,两种写法都还可以用,不同edition的crate能混着来,编译器还能自动帮你迁移到下一版

可话说回来,我们该怎么记住这些变化?

4. 它太有主见

rustfmt压制了关于代码格式的建设性讨论,以协作为名扼杀个人创造力

所有东西都用一个东西搞定

张口一个cargo闭口一个cargo

在c里,你可以从make, cmake, qmake, premake, configure, scons, gn, bazel, ninja, meson里随便挑

5. 它又太没主见

Rust既能写高性能web又能跑嵌入式,仅需在cargo.toml加feature=["full"]

这简直太过分了

一个优秀的标准库,必须至少提供两种在15年前还不错的实现方式,这样才保险,瞧瞧人家C++,标准库里一个字符串恨不得给你变出八个花样来,那才叫考虑周全,万一程序员就想用30年前的那种呢?

6. 它危害民主

Rust让引入第三方crate变得太轻松

每个c项目都必须重复造轮子,因为链接就是噩梦

可Rust里,你直接用标准crate或者大伙都在用的流行crate就行

你知道所有人都用同一个东西时,这叫什么吗?没错——共产主义[2]

7. 它不够包容

多数编程语言乐于欢迎偏执型精神分裂患者、当代纳粹甚至性犯罪者

Rust社区可不这样https://www.rust-lang.org/zh-CN/policies/code-of-conduct 

那你说,这些人应该何去何从?

就因为他们威胁他人的身心健康,就要把他们拒之门外?

这未免太不公平了

8. 它阻碍经济发展

英特尔、AMD、苹果这些公司每年拼命推出更快的硬件,可Rust写的程序在10年前的机器上照样跑得欢,让人根本找不到升级的理由

当然,编译确实挺耗资源,但那只是开发者的事,而开发者只占市场的极小一部分

9. 它对环境有害

团队在修改编译器或标准库时,会把几乎所有已发布的 Rust crate都下载下来,重新编译一遍,以确保修改不会破坏现有的代码

这可占用了大量宝贵的算力,本可以用来挖矿的

10. 对安全研究员很不利

用c/cpp,你只要斜眼瞅几行代码,缓冲区溢出就像白送一样自己跳出来

你能拿它们追踪难民、监视政治活动人士或者把医院基础设施搞下线直到交赎金

Rust却让你费老鼻子劲才能找到这种漏洞,不禁让人怀疑:他们到底想隐藏什么?

[1]切片面包是英文中的说法,可以理解成惊天地泣鬼神的发明,也就是说Rust被吹得很伟大

[2]你懂的,西方政客喜欢调侃共产主义