Rust 的安全神话?为何在关键系统如数据库、大模型代码中仍选 C++

61 天前
 mightybruce
“Rust 是一门很棒的语言,我真的很喜欢用它。然而,当涉及到数据库系统时,我仍然会选择 C++ 而不是 Rust 。”

Moritz 首先承认了 Rust 的优点:理论上,Rust 通过其所有权系统和借用检查器,提供了远超 C++ 的默认安全性。这正是大家喜爱 Rust 的原因。

但问题在于,像 CedarDB 这样的高性能数据库,其开发工作远不止是处理业务逻辑。它需要深入到硬件的毛细血管中,榨干每一滴性能。这意味着:

使用大量底层的 CPU 特性。
实现复杂的侵入式数据结构。
进行带有验证的、乐观且激进的内存访问。
在这些场景下,Rust 的安全检查反而成了“束缚”。为了完成任务,你必须使用 Rust 提供的“逃生舱口”——unsafe 关键字。

而 Moritz 抛出的重磅炸弹正在于此:

“一旦你在 Rust 中写下 unsafe 代码,所有的赌注都将失效。在 unsafe 代码中,你遇到未定义行为( UB, Undefined Bahavior )的风险,甚至比在 C++ 中还要高。”
https://x.com/iavins/status/1946598328533430702
3372 次点击
所在节点    Rust
26 条回复
minami
61 天前
在 servo 完工之前我是不会信粉丝的任何吹嘘的
clemente
61 天前
@allplay 目前还没有能完全驾驭这门语言的大型团队 包括世界 top10 以内 的外企
进去看代码库都是一坨屎
snylonue
61 天前
把 unsafe 当作赌注那我很怀疑他写的 cpp 代码的正确性

UB 多有可能吧,写出 UB 的概率就未必了
gigishy
60 天前
我觉得 rust 未来不一定有多大前途,未来要达到 rust 认为安全的大量规模数量的项目,大概率靠另一种/类编程语言来实现——面向 ai (机器)使用而不是程序员(人)使用的。
归根结底是安全与开发效率以及应用规模的“全都要”的问题。
nebkad
60 天前
让一个 CEO 来讲 Rust unsafe 有多 unsafe, 而且还会有自称是程序员的人会 buy 这些说法.
瞧瞧这个世界有多梦幻, 怪不得程序员总是被炒, 活该
harmless
52 天前
@allplay defender 误报就是很高,没什么可洗的,自己用 rust 写的 ups 掉电自动关机程序也被报毒

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1146992

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX