语言演化:Rust没有根本性的新功能 C++ 的一个显着特征是新功能的快速采用,现在每 3 年有一个新版本。C++20 为我们带来了模块,这是一项创新的新功能,我期待着很快就能真正实现这一功能。展望未来,C++26 可能会拥有堆栈协程、嵌入二进制文件内容以初始化数组的能力、安全的基于范围的 for 循环,以及许多其他好东西。 相比之下,Rust 的创新步伐变得更加稳健。它曾经非常快速,并且异步一直是一项重大努力,但最近登陆的特性(例如通用关联类型)更像是使现有特性的组合按预期工作,而不是带来任何根本性的新功能;即将推出的“type alias impl trait”与之类似。在这里,很明显,Rust 因承诺不破坏现有代码(由版本机制制定)而受阻,而 C++ 可以自由地在每个新版本中实现向后兼容性破坏性更改。 C++ 有更令人兴奋的变化值得期待,包括 Herb Sutter cppfront 提出的潜在新语法,甚至是新的 C++ 兼容 Carbon 语言。 幸运的是,我们在 C++ 社区中拥有出色的领导能力。C++ 之父 Stroustrup 关于安全的论文《A call to action: Think seriously about “safety”; then do something sensible about it 》是一份非常值得一读的文档,显示出对 C++ 面临的问题的深刻理解,并提出了一个引人注目的未来路线图。
结论 Rust 是一个很好的实验,有些方面我会深情地回顾,但现在是时候将 Linebender 项目变成一种成熟的、生产就绪的语言了。我期待与 C++ 社区中的其他人进行富有成效的协作。我们正在寻找帮助 C++ 重写的人。 原文链接:https://raphlinus.github.io/rust/2023/04/01/rust-to-cpp.html