“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
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1146992
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.