开发人员提供了 GNU Coreutils 在 Rust 中的重新实现 

gnu-coreutils-rust

在这个项目中使用 Rust 将有助于加快这个过程,因为很多潜在的错误都被完全消除了。

Sylvestre Ledru 开始致力于用 Rust 重新实现 GNU Coreutils 在 COVID-19 大流行期间 并于上周在 2023 年 FOSDEM 期间展示。 名为 uutils 的成果现在被许多 Linux 发行版打包,并且还通过 Yocto 项目被一个著名的社交网络使用。

Rust 和 C++ 语言的比较有一个共同点:突出 Rust 在内存安全方面优于 C++。 RisingWave 编辑解释了为什么他在离开 C++ 项目后用 Rust 从头开始​​重写了他的原生 Cloud DBMS。

“Rust 通过引入所有权规则在编译时确保内存和线程安全。 它超越了 C++ 中常用的内存管理机制 RAII。 它有两个优点。 第一个很明显:一旦 Rust 编译器验证了我们的程序,我们将不会在运行时出现任何段错误或竞争条件,这将需要数十小时的调试,尤其是在高度并发的代码库中并且大部分是异步的。 第二个更微妙:Rust 的编译器简单地限制了失败的类型,这减少了可能导致此类错误行为的紧密嵌套代码片段。 使用确定性执行可显着改善错误复制。 »

GNU Coreutils 是一个包 来自 GNU 项目 其中包含许多类 Unix 操作系统所需的基本工具: cp(复制文件或目录)、mkdir(创建目录)等。 开发人员提供了 Rust 语言的重新实现。

目标之一:使该软件包可在其他操作系统上使用:Windows、macOS、Android、FreeBSD 等。 此举重新引发了关于是继续使用 C 和 C++ 启动新项目还是简单地选择 Rust 语言这一问题的争论。

“在内存管理方面,Rust 语言默认提供安全保证。 这不是 C 和 C++ 的情况,它们在 Mozilla 中的使用是内存安全问题的原因”,Sylvestre Ledru 强调说。

然而,Bjarne Stroustrup 不同意 Rust 和 C++ 之间的比较将保护软件的概念限制为保护内存的概念:

“‘安全’的概念没有单一的定义,我们可以通过组合编程风格、支持库和利用静态分析来实现多种类型的安全。 因此,Bjarne Stroustrup 建议,在软件安全方面,从 C++ 中可以获得什么取决于开发人员,特别是,取决于该语言提供的工具的知识、他对编译器的掌握等。

谷歌工程师意识到 C++ 为他们提供的可能性,已经开始用这种语言创建贷款验证程序。 它是 Rust 编译器的一个特性,通过内存指针分配管理来确保内存安全。

谷歌团队, 其出版物出现在上一年的第三季度, 得出的结论是 类 C++ 系统不适合这样的练习。 并 可以实现 C++ 中的内存安全 在程序执行期间进行控制。 换句话说, 使用缓慢的 C++ 代码,可以达到与 Rust 相当的安全级别.

RisingWave 编辑器的发布是因为 Rust 从多年来作为 C 和 C++ 替代品的其他语言中脱颖而出。 事实上,Linux 内核对 Mozilla 的系统编程语言越来越开放。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。