标签: rust
为什么我要用 Rust 重写 tmux?

我想分享一下将原始代码库从大约 67,000 行 C 代码移植到大约 81,000 行 Rust 代码(不包括注释和空行)的过程。你可能会问:为什么用 Rust 重写 tmux?是的,我其实没有很好的理由。这是一个业余爱好项目

Rust 的依赖关系吓到了我

出于好奇,我运行了 toeki 这款用于计算代码行数的工具,发现 rust 代码竟然有 360 万行之多。删除供应商提供的软件包后,rust 代码减少到 11136 行。

美国国家安全局(NSA)和网络安全与基础设施安全局(CISA)联合发布的报告《内存安全语言:减少现代软件开发中的漏洞》

内存安全语言是减少软件漏洞的关键策略,但需平衡安全、性能与迁移成本。通过战略规划、跨领域协作和持续投入,MSL有望成为未来软件开发的基石,显著提升网络安全韧性。

Rust 中的奇怪表达式

Rust 拥有非常强大的类型系统,但因此也存在一些怪癖,有些人甚至称其为“可恶的表达式”。rust 存储库中有一个测试文件 weird-expr.rs,用于测试其中的一些表达式,并确保它们在更新之间保持一致。因此,我想逐一介绍这些表达式,并解释它们在 rust 中是如何有效的。

为什么 Rust 编译器这么慢?

异步函数的深度调用图的编译时间需要改进——可能是 LLVM 存在一个容易触发的特殊边界情况,而 rustc 生成的代码恰好触发了它,或者可能是其他语言中未充分利用的糟糕启发式算法。

微软发布用Rust编写的Linux版经典MS-DOS编辑器

该编辑器向经典的MS-DOS 编辑器致敬,但采用了现代化的界面和与 VS Code 类似的输入控制。其目标是提供一个易于使用的编辑器,即使是那些对终端操作不太熟悉的用户也能轻松上手。

OpenAI 将用 Rust 重建 Codex CLI,放弃之前的 TypeScript 版本

借助 Rust,OpenAI 不仅改变了代码库,还改变了 Codex CLI 可以成为什么样的软件。从终端实用程序到可编程代理工具,CLI 的重建不仅是为了提高速度,还为了提高灵活性、可移植性和长期可维护性。

bzip2 crate 从 C 切换到 100% rust

为什么要花时间研究这个在当今几乎不再使用的 90 年代算法?问题是,许多协议和库仍需支持 bzip2 以符合其规范,因此许多项目在依赖树的深层仍依赖于 bzip2。我们利用在 zlib-rs 中的经验对 bzip2 实现进行了现代化改造。

Rust 比 C 更快吗?

假设我们有一个初级开发人员在写 Rust,也在写 C,做的是同一个任务。我们会在其中一种语言中获得更快的代码吗?这控制了能力,但控制不了相同的代码。这是“相同”的吗?

【程序员搞笑图片】Rust:愿者上钩

Rust:愿者上钩

对 Rust 10 年的押注以及我对未来的期待

2015年6月,Rust 1.0登陆的喧嚣一个月后,我写下了第一行Rust代码。我来自 C、Python 和 JavaScript,从此一发不可收拾。两家基于 Rust 的初创公司和 50 万行 Rust 代码之后,我在此对这一里程碑进行了一些反思。

如何处理 Rust 依赖项

虽然一些微型 crates 各自都能很好地完成某项任务,但我们仍然应该寻找一种方法来减少依赖树中的依赖项数量。

在 Rust 中写入未初始化的缓冲区

Rust 中的非初始化缓冲区是一个由来已久的问题, John Nunley and Alex Saveau 想到了一种新方法,使用 Buffer Trait,现在已经出现在 rustix 1.0 中,我将在这篇文章中介绍。

Rust 10 周年:一部破电梯如何彻底改变了软件

Mozilla 在火狐浏览器中使用了 Rust;谷歌在 Android、Chrome OS 和 Fuchsia 中使用了 Rust;微软在其 Windows 核心库和 Azure Confidential Compute 中使用了 Rust。离我最近的是,Linux 内核现在也采用了 Rust。

Rust 和 C 文件系统 API

在我看来,在 Rust 一侧做更简洁的版本反而更容易,一旦我们知道了它的样子,也许我们就会更新 C 语言版本以与之匹配–或者我们点燃一切,继续用 Rust 重写一切。

使用 Rust 真的能让软件更安全吗?

我们接受了挑战,做了自己的实验,尽管我们的工程师得到的时间和指令非常有限,但最终产生的 Rust 代码确实避免了与内存安全相关的漏洞。如果你愿意,甚至可以亲自尝试一下。

两年的 Rust 使用感悟

我学习 Rust 的方式并不常见:阅读教程、书籍或编写小项目。恰恰相反,我把学习 Rust 作为构建 Austral 的研究工作的一部分。我会阅读有关 Rust 的论文和规范,有时我还会去 Rust playground 写一个小程序,以了解借用检查器在特定边缘情况下是如何工作的

嵌入式 Rust 开发

嵌入式 Rust 开发

氧化 Ubuntu:默认采用 Rust 实用工具

如果一切按计划进行,Ubuntu 项目很快就会用 Rust 编写的实现来取代许多传统的 GNU 工具,比如我们在二月份报道过的 uutils 项目创建的工具。作为 Linux 发行版核心的核心实用程序的全面替换并非小事

“unsafe”是否会破坏 Rust 的保证?

当人们第一次听说 Rust unsafe 时,往往会产生疑问。一个很正常的问题是:”等等,这不是有 […]

Rust 泛型 – 这是什么?

我们将介绍如何使用泛型、何时使用泛型是个好主意,以及如何限制泛型以保证安全性、清晰性和更高的可用性。泛型功能强大,有时也会令人困惑,让我们来unwrap这个话题,确保你在使用时不会panic!

编程语言的选择

人们最大的疑问是 “为什么不是 C#?”和 “为什么不是 Rust?”。说白了,我确实认为询问某人选择编程语言的原因是有价值的;作为专业人士,我们需要经常做出这类决定,而了解其他人是如何做出这些决定的,对于了解其他人是如何考虑这些事情的,是很有帮助的。

使用中的CSS :is 选择器

有些人会说他们可以不用 :is 选择器。我也可以不用它,但我知道我随时都可以使用超棒的 :is 选择器,让我的代码更易读,这让我的生活变得更美好。

Linus正面回应Linux内核“Rust之争”:未来必定使用,完全生产级别尚需时日!

Linus Torvalds 本人都对这种局势感到困惑,其在近期出席 Open Source Summit EUROPE 时发出感慨:“我搞不懂为什么现在还有这么多人对 Rust 产生如此大的争议。

【外评】一年的 Rust 开发总结

我从未遇到过 Rust 进程崩溃的情况。我遇到过一次 Node 进程崩溃。除非你在代码中使用 .unwrap()(基本上就是说 “如果结果是错误,就崩溃”),否则你的进程很有可能永远不会崩溃。
