内存安全绝对主义者的盲区
来源:itsallaboutthebit.com — 2026-07-28
📋 概述
Piotr Sarnacki 批评了内存安全领域的绝对主义倾向。Fil-C 作者和 Zig 作者 Andrew Kelley 声称 Rust 因 unsafe 关键字的存在而「不安全」,并宣称只有 Fil-C 或 Zig 的新编译模式才能实现真正的内存安全。作者用 Android 平台数据反驳:500 万行 Rust 代码仅发现 0.2 个漏洞/百万行,而 C/C++ 约 1000 个/百万行——这是 5000 倍的差距。他呼吁务实而非教条:不能接受 Fil-C 性能开销和 ABI 不兼容的程序正是 Rust 的最佳战场。
🔑 核心要点
- Fil-C 的绝对主义:Fil-C 作者声称 Rust 因 unsafe 关键字而「内存不安全」,忽略了 Rust 在实践中的安全记录。
- Android 实战数据:500 万行 Rust 代码仅 0.2 漏洞/百万行,对比 C/C++ 约 1000/百万行——降低了 5000 倍。
- Fil-C 的代价:GC 引入的性能损耗、ABI 不兼容和崩溃转化(安全漏洞变崩溃)使得并非所有项目都能接受。
- 双重标准质疑:作者指出内存安全绝对主义者往往只针对 Rust 吹毛求疵,对直接用 C/C++/非 Fil-Zig 的人却宽容。
- 务实选择:能接受 Fil-C 代价的项目用 Fil-C,不能接受的用 Rust——两者并非互斥,都可共存。
- Rust 的真实价值:除内存安全外,Rust 还提供了数据竞争预防等独特语言保障,远不止 unsafe 这一个维度。
💡 金句
如果你真的那么关心内存安全以至于连 Rust 的 0.2 漏洞/百万行都不可接受,我希望你对直接编译 YOLO C/C++ 的人也同样严厉——甚至更严厉。
👍 0
👎 0
← 返回 Lobsters 首页