返回

文章详情

Rust语言的问题

Hacker News2026年10月14日 22:37

Rust语言的问题 我认为内存安全是一个伟大的想法。我主要是C程序员,对调试内存问题的“乐趣”非常熟悉。但我相信Rust被采用的速度是危险的,原因如下:Rust由Rust基金会管理,该基金会自我定义为“一个致力于通过Rust编程语言实现安全、可靠和可持续未来的独立非营利组织”。好吧,公平。不过,谁拥有Rust基金会?其创始成员包括亚马逊、谷歌、华为、微软和Mozilla。“独立”和“非营利”的语义可以争论一整天,但我认为信任这五家公司共同管理一个项目而不认为这会使它们受益是天真的。Rust是一种从一开始就受公司利益影响的语言。在Rust基金会董事会中,专门的席位可以以每年32.5万美元的价格购买。1 在Rust的传播中,有一种“社会动能”。对错失良机的恐惧,取代旧事物的文化,一种趋势。我相信Rust应该像任何新技术一样被看待——带着怀疑。Rust以某种方式成为了自我认同的标签。使用Rust的人可以被视为聪明、进步和安全。它已经成功地说服一些程序员认为这是唯一的前进道路,并且应该在不批判其权衡的情况下使用它。2 Rust社区的一个主要消遣方式,甚至可以算作一种迷因,就是将现有项目改写成Rust。在我看来,这绝对是增加安全性的最糟糕方式。它可能是增加Rust使用率而不获得任何其益处的最佳方式。Rust并不是魔法,它不能修复逻辑错误。Rust程序员仍然需要是优秀的程序员。但即使是优秀程序员的能力也受限于重新发明轮子的任务。什么时候开始用完全新的重写程序来替代经过多年bug修复的可靠、经过测试的软件变得可取?这完全安全吗?我相信这种重写现有项目的文化再次使公司受益。目前,通常最终被重写为Rust的项目通常起初采用GPL许可证,最后变为MIT许可证。公司不能在没有以某种方式对GPL项目做出贡献的情况下使用GPL项目中的代码。一旦通过Rust重写而更改为MIT许可证,该项目就可以自由用于任何对公司最有利的目的。一个例子就是创建封闭的Linux发行版,形成数字监狱。简而言之,Rust程序员正在为那些害怕将GPL代码嵌入其产品中的公司做免费劳动。他们被愚弄成在“安全”和“效率”的幌子下为自己创造一个监狱。我将这个论点归功于Jody Bruchon。3 Rust的编译器中可能包含后门。而且没有人会知道。现在这一点高度投机和阴谋论,但我并不是唯一一个对此感到担忧的人。4 编译Rust编译器的唯一方法是使用Rust基金会发布的前一个版本的二进制包。理论上,这个二进制版本可能包含一个后门,在引导时被复制到后续版本的编译器中。也完全有可能这个二进制版本是完全正常的。这就是问题所在。由于只有一个完全功能正常的Rust编译器实现,Rust基金会必须被信任。考虑到其历史、所有者和管理不善的问题记录,5 我发现很难完全信任它。现在关于这些问题的唠叨如果不概述解决方案是不会完整的。我的建议是:放慢脚步。首先,社区应该专注于改善Rust语言本身,而不是通过重写来“改善”其他项目。我建议将这股能量用于帮助GCC前端Rust项目6——一个替代编译器,这将减轻对可能存在后门的担忧。目前,它处于开发的早期阶段。可以说,这些问题并不是对Rust语言本身的批评——“语言”就是定义如何编写Rust的实际正式语法。这是事实。就我个人而言,我相信Rust在纯技术层面上无疑比C++有了改善。但技术依赖于人。而与Rust相关的人常常似乎并没有最好的意图,或只是跟随趋势而不经过自己的思考。要了解Rust语言设计的问题,我建议阅读Nimfsoft的博文。7 https://rustfoundation.org/get-involved ↩︎ https://bentsukun.ch/posts/netbsd-rust-kernel ↩︎ https://jodybruchon.com ↩︎ https://internals.rust-lang.org/t/trusting-rust/2008 ↩︎ https://www.sophiajt.co

赞助内容

NordVPN Next-gen Antivirus

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

☕请我喝杯咖啡