返回

文章详情

《Rust让编程再次有趣》:根据Greg Kroah-Hartman的说法,Linux正在远离C语言

ZDNet2026年7月15日 16:13

Linux稳定内核维护者Greg Kroah‑Hartman说:“Rust实验结束了。这是真的。” 伴随Elyse Betters Picaro / ZDNET的截图 关注ZDNET:将我们添加为您在Google上的首选来源。 ZDNET的要点在未来,一些Linux子系统将仅用Rust编写。 Rust比C更安全,但并不是解决糟糕逻辑的灵丹妙药。 Linux内核不会用Rust重写。 好吧,暂时不会。 在2026年孟买的开源峰会上,Linux稳定内核维护者Greg Kroah‑Hartman在他的主题演讲中表示:“[Linux]内核正在向Rust转变。 Git正在向Rust转变。许多项目正在开始转向Rust。” 另外:红帽将永远支持您的RHEL——只要您愿意付费 他并不总是这样想。Kroh-Hartman补充道:“几年前,当我一个朋友说,‘啊,你得试试这门新语言。它叫Rust。’我想,‘什么?不,C很好。’他的朋友继续说,‘不,不,不!它让编程再次有趣。’我说,‘不,C中的编程就很好。’他是对的。我那时应该试试。Rust实际上很有趣。它使编程变得有趣。它减少了许多需要担心编译器的事情,很多问题都可以由它自动解决,而且它使代码变得更好。” 为什么Rust让生活变得如此简单 所以,Kroh-Hartman已经从Rust怀疑者转变为内核内部最强大的支持者之一。他现在将Rust视为Linux的永久组成部分,而不是实验。他的论点很简单:Rust的所有权和类型系统可以消除大多数主导内核的“愚蠢小毛病”,同时让超负荷的维护者的生活变得更轻松。“简单来说,”他说,“Rust让我生活变得轻松多了。” Kroh-Hartman应该知道。他负责Linux内核的CVE处理流程,作为稳定内核维护者,他的位置非常独特。在印度,他表示,Linux“每天大约有13个CVE”,并且在过去十年或更长时间里,运行频率几乎是“每小时近九次更改”。他辩称,这些漏洞大多数并不是奇异的攻击,而是简单的C语言错误——未检查的指针、忘记的解锁和草率的清理路径:“这就是我们每天要解决的13个问题。这些小的、琐碎的小错误总是存在。” 另外:“我不再是程序员了”:Linus Torvalds谈他现在使用的唯一两种工具 Rust如何帮助解决这个问题?很简单。Kroh-Hartman继续说道:“这是我的声明,完全不科学。我看过过去25年内核的每一个CVE。我认为80%会消失,仅仅因为它们会被Rust捕获。” 剩下的20%是他想专注的逻辑错误:“Rust仍然会崩溃。您可以在Rust中做一些愚蠢的事情,但所有那些小的、愚蠢的、琐碎的事情,Rust会为我们处理好。” Kroh-Hartman始终将语言选择框架放在审核工作负载的角度,而不是开发人员的便利性。Linux有“超过5000名开发人员”,但“约150名核心维护者审查大多数代码”,这一差异驱动了他的工作优先级。“我们是为审核人员优化,而不是为开发人员优化,因为我们有很多开发人员,”他说,暗示Rust在构建时强制执行锁定和生存期规则的能力意味着审核人员可以将有限的时间专注于逻辑而非账务:“如果它能构建出一个审核版本,我知道没问题。我可以查看逻辑。” 另外:开源安全是一团糟——IBM和红帽押注50亿美元和20000名工程师可以解决这个问题 Rust的努力已经重新塑造了内核中的C。为了使Rust绑定安全,维护者重新审视了长期存在的C API,添加了与Rust的自动清理相似的保护和范围分配机制。“我们有保护机制,提供对C的范围引用计数,因为Rust向我们展示了我们可以做到这一点,”他说。“我们为内核和其他API添加了更多内存安全的东西,因为我们意识到Rust向我们展示了我们可以做到这一点,从而使C代码更可靠、更好。因此,如果Rust明天消失,内核会因此变得更好。” 关键子系统中新工作的默认选择 这种转变已经持续了一段时间。正如Kroh-Hartman在2025年Linux内核邮件列表(LKML)上写道:“Rust还使我们能够以几乎不可能出错的方式定义内核中的API。当我们的API发展至今,要求维护者提交过多审核以‘确保你做对了’时,导致了我们过多的困难和复杂的API,C语言也不允许我们以更简单/安全的方式表达API。” 强迫这些API的维护者重新思考它是件好事,因为这使我们为每个人洗牌,C用户也包括在内,使Linux整体更好。此外,Rust正在成为关键子系统中新工作的默认选择。“一些子系统的新驱动程序将仅使用Rust编写。”

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡