据最新消息,近年来Rust编程语言人气飙升,相比之下,C/C++表现稍逊色。Google近期公布了一项把项目由Go或C++代码转换成Rust的试水计划,所得成果令人惊艳——Rust开发者的输出量竟高达C++团队的两倍。
这项发现由谷歌安卓平台工具及库的工程总监Lars Bergstrom在日前召开的Rust Nation英国峰会揭示。尽管此前业内对Rust的安全性和稳定性存在一定争议,特别是其‘unsafe’关键字的存在令人担忧。但现今形势正在改变,部分原因是人们开始认识到非内存安全性所带来的挑战以及各国政府对关键基础设施软件安全性的关注,内存安全问题已被视为国家安全议题之一。
Bergstrom进一步指出,目前美国政府等机构高度重视软件在关键基础设施中的作用,而大型代码库中的大部分安全漏洞都是由内存安全性引发的。对于能够有效防止这些问题的系统如Rust,它正逐渐成为首选。
值得注意的是,微软Azure首席技术官Mark Russinovich早在2022年9月便呼吁新项目尝试使用Rust替换C/C++。如今,这种趋势已经从新项目扩大到了老旧代码的重构。今年初,Microsoft甚至发起了将C#代码转化为Rust的倡议。此外,像网络安全研究团队的Prossimo项目,就是在努力重写NTP、DNS、TLS等关键库的核心开放源码部分,以提高其内存安全性。
然而,并不是所有人都对此持肯定态度。C++创始人Bjarne Stroustrup坚持认为,借助合适的工具,C++同样可以提供像Rust这样的内存安全性,而且成本更低。而美国国家网络总监办公室发布的软件安全报告也引发了相关讨论,其中内存安全性只是软件安全挑战的一部分,不必过份放大。卡内基梅隆大学软件工程研究所强调,任何编程语言都有其优缺点,应根据具体项目需求进行选择。
然而,谷歌等Rust支持者的实际应用却证明Stroustrup的观点存在误区。Bergstrom指出,在将Go代码(内存安全性高但运行速度慢)转为Rust的过程中,谷歌团队在效率上取得了显著提升“尽管迁移过程需要的团队规模和时间与Go开发基本相当,但是内存利用率下降,漏洞率降低,代码质量得以提升”。
更大的惊喜来自于C++代码的迁移效果,“所有案例中,使用Rust构建和维护系统的劳动力减少了超过一倍”Bergstrom介绍道,“这对我们具有极大价值,因为C++代码维护成本极高,需要巨大团队投入大量精力,风险重重”。
此外,谷歌正在实施类似的Java至Kotlin的迁移项目。根据内部匿名调查显示,两种情况下开发人员掌握新语言并达到原有开发效率所需的时间大致相等。约三分之一的开发者表示,他们能用新语言在两个月后最大程度地发挥原有的工作能力;超过一半的开发者表示在四个月后即能适应,效率不低于原来。
-
网络安全
+关注
关注
11文章
3449浏览量
62964 -
C++
+关注
关注
22文章
2122浏览量
76712 -
Rust
+关注
关注
1文章
240浏览量
7477
发布评论请先 登录
2025开放原子开发者大会旋武社区Rust分论坛即将启幕
RusT-Thread:基于Rust面向资源受限嵌入式设备的操作系统的实践 | 技术集结
一文了解Mojo编程语言
工业场景安全需求升级,RT-Thread 睿赛德全栈方案破解 OS 安全与效率痛点
RT-Thread 遇上 Rust:安全内核 RusT-Thread 的诞生
万里红以科技之力筑牢国家安全数字防线
国民技术安全芯片筑牢关键信息基础设施安全防线
主流的 MCU 开发语言为什么是 C 而不是 C++?
特朗普声称对中国芯片进行国家安全调查:背后意图与影响剖析
开放原子开源基金会携手vivo推动Rust生态建设
ADS1100设置为sps8时,读配置寄存器为sps16而且读数放大了两倍,为什么?
HighTec C/C++编译器套件全面支持芯来RISC-V IP

Rust效率领先C++两倍,内存安全成国家安全议题
评论