微软Azure 的 CTOMark Russinovich表示,开发人员应该逐步弃用 C/C++,转而使用内存安全的 Rust 语言,以减少系统崩溃和蓝屏死机。当然,这条推文与 CrowdStrike 的错误更新没有直接关系。周六,Russinovich转发了一条 2022 年的推文,内容是:“是时候停止启动任何新的 C/C++ 项目,并在需要非 GC 语言的场景中使用 ...
因此,虽然Rust的内存安全特性确实弥补了C++的一些不足,但它并不意味着C++在所有情况下都不适合使用。更准确的说法是,Rust适用于需要更高安全性的场景,而C++则依然是高性能计算的利器。 五、所以Rust是否会取代C? 关于Rust是否会取代C,有人提出一个有趣的看法,认为Rust编译器本身可能依赖于C。这种说法似乎有些荒谬...
2. Rust:Rust是一种较新的系统编程语言,它的目标是提供和C相当的性能,同时增加内存安全和某些现代语...
如果您需要更好的内存安全性和并发性,那么Rust可能是更好的选择。
一个易用的 Rust 实现 用Rust 重写的第一个版本很好,但是并不理想。你必须记住要带上掩码和偏移量,并且要手工进行临时计算,这容易出错。人类不擅长精确且重复的任务 —— 我们往往会感到疲劳或失去专注力,这会导致错误。一次一个寄存器地手动记录掩码和偏移量几乎可以肯定会以糟糕的结局而告终。这是最好留给机器的...
从语言的角度来看,C语言唯一的优势是,当你有别名的可变指针时,一些数据结构可以用更简单的方式表达。这需要Rust中的不安全,但在某些情况下,编写正确的不安全的Rust可能比编写正确的C更难。典型的例子是链接列表。 就我个人而言,我认为来自C语言的任何好处都很容易被Rust的所有好处(更好的类型系统,借贷检查器等)所...
优秀的 C++ 程序员的价值观与优秀的 C 程序员的价值观是不相容的。如果您有与 C++ 相同的目标,Rust 是一个不错的 C++ 替代品,但如果您没有,该设计也有非常相似的缺点。 Rust 和 C++ 都是通过添加更多语言功能来解决问题。像 C 这样的语言通过编写更多的 C 代码来解决问题。C:每年 0.73 个新功能,以...
从技术上讲,Rust支持自定义内存分配器,但是存在严重的局限性。任何高性能软件都使用许多临时内存分配器。 就像C ++一样,Rust不提供VLA(可变长数组)。但是,C ++仍然可以使用alloca(3),Rust根本不会提供堆栈分配。因为栈分配是成本最廉价的,自定义内存分配器不是一个好选择。