Debian APT对Rust的要求引发质疑

APT 将强制要求 Rust 支持,这意味着部分 Debian 非官方移植版本必须获得可用的 Rust 工具链,或继续依赖旧版 APT。这在项目内部引发诸多质疑,尤其质疑单个维护者能否推行具有广泛影响的变更

编程语言 Rust 的几个核心问题

那么Rust究竟是好是坏?其实二者皆非。它只是投入数千人月开发的平庸编程语言——但正因如此,Rust成为可用的工具:你只需从货架上取下它直接使用即可

Rust并非系统编程的未来——它只是炒作周期

Rust在诸多方面堪称卓越,但其陡峭的学习曲线、漫长的编译时间以及复杂的抽象机制,注定会阻碍其大规模普及——正如数十年前C和C++的固化发展路径。让我们逐层剖析这一论点。

Rust在Android中的应用:内存安全漏洞密度较C/C++降低了1000倍

我们因其安全性而采用Rust,如今发现 内存安全漏洞密度较Android的C/C++代码降低了1000倍 。但最令人惊喜的是Rust对软件交付周期的影响。Rust代码变更的 回滚率降低4倍 ,代码审查耗时 减少25%

用Rust重写的 coreutils 漏洞导致Ubuntu 25.10自动更新功能失效

部分 Ubuntu 25.10 系统无法自动检查可用软件更新。受影响的机器包括云部署环境、容器镜像、Ubuntu 桌面版及 Ubuntu 服务器版安装环境。

Debian强制要求APT采用Rust语言,重塑Ubuntu及其他Linux发行版

无论你是否愿意,若为Debian开发软件,都必须开始使用Rust语言。

Rust 防御性编程模式

我们唯一能依靠的,是通过多年将Rust代码投入生产环境积累的经验,总结出的硬核模式来编写更具防御性的Rust代码。这里说的不是设计模式,而是那些鲜少被记录却能显著提升代码质量的小技巧

Debian的APT即将强制要求Rust支持:各移植版本需适配或面临淘汰

朱利安周五宣布,计划于2026年5月前在APT中引入强制性Rust依赖。在APT代码库的某些领域,采用内存安全的Rust编程语言具有显著优势,因此在Debian生态中强制要求Rust是合理的

Git 采用 SHA-256、Rust、LLM 等技术动态

该补丁系列引入了一个可选的Rust模块作为“试探性方案”,旨在帮助用户和发行版适配新的构建要求。该系列包含文档变更,明确指出自Git 3.0版本起,Rust将成为构建Git的强制要求。

即将推出的适用于内核开发的Rust语言特性

Rust语言设计团队联合负责人泰勒·曼德里表示,Rust for Linux项目对Rust语言发展大有裨益。他在Kangrejos 2025大会上发表演讲,介绍了即将推出的Rust语言特性,并感谢Rust for Linux开发者推动这些特性落地。

编程语言 Rust 与 Carbon 的对比

: TypeScript 是 JavaScript 的演进,Swift 是 Objective-C 的演进,而 C++ 本身就是 C 的演进。Carruth 认为 Carbon 可能成为 C++ 的类似演进——一条优先处理最根深蒂固的存量软件、逐步迁移至内存安全语言的道路。

Rust 难在哪里?

Rust 很难学。不是因为不努力–很多很多人花了很多年的时间来改进诊断、文档和 API,而是因为它很复杂。当人们第一次学习 Rust 语言时,他们正在学习许多不同的交错概念:

Rust 赋能:意想不到的开发效率跃升

Rust编译器能检测此类问题实在令人惊叹。更令人赞叹的是,互斥锁、生命周期和异步操作等看似无关的语言特性,竟能构成如此严密的系统。

降低Rust的学习难度的方法

我发现人们在学习Rust时总是重复犯同样的错误。以下是我关于如何简化学习过程的看法(按重要性排序)。我的目标是帮助你节省时间并减少挫折感。

在纯Rust中实现SIMD加速算法的经验教训

你使用Rust的时间越长,就越能理解为什么它最终会席卷整个计算堆栈,从微控制器到大型服务器,涵盖WebAssembly、机器人、卫星以及其间的一切。

Linux 6.16 带来了更多的 Rust 支持、更快的文件系统以及改进的机密内存支持

最新 Linux 内核(Linux 6.16)的改动虽小,但其中包含一些重要更新。Linus Torvalds本人将此次发布总结为“看起来不错、小而平静”,但“其实并不算特别有趣(以最好的方式来说!)”。

我最大的困扰:在Rust中同时支持异步和同步代码

Rust 中另一个值得进一步探索的有趣方法是 “Sans I/O”。这是一个 Python 协议,它抽象了像 HTTP 这样的网络协议的使用,从而最大化可重用性。Rust中现有的一个示例是tame-oidc。

C++不是遗留负担,Rust也非万能解药

当我们考虑安全性时,会有许多隐藏的复杂性,这些复杂性使问题变得非常复杂,以至于说“Rust 比 C 更安全”可能是正确的,但实际上并非完全如此

为什么我要用 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 写一个小程序,以了解借用检查器在特定边缘情况下是如何工作的


京ICP备12002735号