嫌 Rust 小家子气,大佬终于弃坑了!

2023-05-28 0 228

原副标题:嫌 Rust 浅薄,元老总算弃坑了!

多年来,我一直在参与 Rust 和 Rust 街道社区。我的大部分工作都与建立用作在 Rust 中构筑 GUI 辅助应用软件包的基础建设有关。然而,我发现我对这种语言越来越沮丧,我现在太渴求 C++ 的稳定与成熟了!

1、构筑控制系统:Rust 自然生态浅薄

Rust 自然生态控制系统的不足之处之一是 Cargo 构筑控制系统和包命令行的几近单个文化。虽然在某种意义上采用了其它构筑系统(主要包括应用软件系统到Villamblard的多词汇工程项目时的Bazel),但它并没得到辅助工具的较好支持。

相对而言,在 C++ 中,构筑控制系统有很多优先选择,容许每个开发者优先选择最适宜他们需要的两个。两个非常常见的优先选择是 CMake(CMake是两个开放源码、虚拟化的辅助工具系列产品,意在构筑、试验和装箱应用软件,通常用作采用简单的平台和校对器独立的命令行多媒体播放校对过程),但也有 Meson、Blaze 及其表音文字,总之也总是能迁怒于 Autotools 并进行制做。假如他们要校对 AIX 和 DEC OSF/1 AXP 等 Unix 控制系统,后者尤其管用。假如这些都不如,还有很多其它优先选择,主要包括 SCons,众所周知,他们会不定期建立捷伊选择。

他们还没为 Linebender 工程项目确定构筑控制系统,但很可能将是 CMake,并计划评估结果其它控制系统和北迁,也许是 Meson。

嫌 Rust 小家子气,大佬终于弃坑了!

Linebender:包涵很多譬如druid、xilem等很多盛行的Rust存储库。

2、安全可靠:四个其原因舍弃Rust

这一变化最具争论的方面可能将是舍弃了 Rust 词汇的安全可靠保证。但是,所致四个其原因,我指出这在工作中不会成为大难题。

首先,我指出自己是两个足够多杰出的开发人员,我可以防止撰写有安全可靠难题的标识符。总之,我曾负责过一些 CVE(主要包括Android 中的手写体导出标识符),但我从那场经历中汲取了经验教训,并且有信心在未来防止这类严重错误。

其次,我指出缓存安全可靠难题的脆弱被歪曲了。Li他们的错。缓存安全可靠严重错误与方法论严重错误和其它严重错误没根本区别,他们只会在它出现时复原它。

第三,C++ 词汇正在向更安全可靠的方向发展。他们能采用现代 C++ 技术来防止原始指针的很多脆弱(尽管字符串视图可以比它的支持字符串更长寿,并且 UI 中采用的闭包能有非常有趣的生命周期模式)。C++ 核心指南很管用,即使它在违规中受到尊重。而且,正如下一节所讨论的,词汇本身有望得到改进。

3、词汇演化: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 小家子气,大佬终于弃坑了!C++之父去年12月6日发表有关安全可靠的文章

4、街道社区:Rust 街道社区有点专横

我将以关于街道社区的一些想法作为结束。我尽量不花太多时间在社交媒体上,但我听说 Rust 街道社区可能将非常专横,不断要求用 Rust 重写工程项目,并诋毁所有其它编程词汇。我会很高兴摆脱它,并且相信 C++ 街道社区会更好、更友好。特别是,C++ subreddit 以其幽默感而闻名。

Rust 街道社区还以其行为准则和其

5、结论

Rust 是两个较好的实验,有些方面我会深情地回顾,但现在是时候将 Linebender 工程项目变成一种成熟的、生产就绪的词汇了。我期待与 C++ 街道社区中的其它人进行富有成效的协作。他们正在寻找帮助 C++ 重写的人。

原文链接:https://raphlinus.github.io/rust/2023/04/01/rust-to-cpp.html

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务