0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

微云疏影 来源:综合整理 作者:综合整理 2024-04-01 15:37 次阅读

最新消息,近年来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的迁移项目。根据内部匿名调查显示,两种情况下开发人员掌握新语言并达到原有开发效率所需的时间大致相等。约三分之一的开发者表示,他们能用新语言在两个月后最大程度地发挥原有的工作能力;超过一半的开发者表示在四个月后即能适应,效率不低于原来。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络安全
    +关注

    关注

    10

    文章

    3138

    浏览量

    59644
  • C++
    C++
    +关注

    关注

    22

    文章

    2105

    浏览量

    73531
  • Rust
    +关注

    关注

    1

    文章

    228

    浏览量

    6581
收藏 人收藏

    评论

    相关推荐

    OPA842的datasheet里面单位增益带宽是增益带宽积的两倍,为什么?

    目前我参考的所有资料都说是对于decompensated op amp,单位增益带宽小于增益带宽积,但是OPA842的datasheet里面却是单位增益带宽是增益带宽积的两倍,不知道这是为什么?
    发表于 09-05 07:18

    未来嵌入式系统的黄金搭档 MCX N947遇上Rust

    基于 Rust安全性和性能引入了 RustRust 有很多优势,内存安全、并发
    的头像 发表于 07-25 09:14 1311次阅读
    未来嵌入式系统的黄金搭档 MCX N947遇上<b class='flag-5'>Rust</b>

    Vector和HighTec推出基于Rust和AUTOSAR Classic实现安全应用的解决方案

    Vector和HighTec家公司成功展示了Rust应用程序与基于C语言的AUTOSAR Classic基础软件的集成,这在行业内还属首次。这样一来,Rust及其优势可以被应用在有最
    的头像 发表于 07-17 14:42 692次阅读
    Vector和HighTec推出基于<b class='flag-5'>Rust</b>和AUTOSAR Classic实现<b class='flag-5'>安全</b>应用的解决方案

    影响国家安全的十大新兴技术,感知技术在列

    来源:远望智库开源情报中心,谢谢 编辑:感知芯视界 Link 近日,美Booz Allen Hamilton咨询公司发布研究报告,提出影响国家安全的十大新兴技术,主要包括: 1.用于人工智能的半导体
    的头像 发表于 05-20 09:23 329次阅读

    鸿蒙OpenHarmony开发板解析:【Rust模块配置规则和指导】

    Rust是一门静态强类型语言,具有更安全内存管理、更好的运行性能、原生支持多线程开发等优势。Rust官方也使用Cargo工具来专门为Rust
    的头像 发表于 05-10 11:32 1242次阅读
    鸿蒙OpenHarmony开发板解析:【<b class='flag-5'>Rust</b>模块配置规则和指导】

    在嵌入式系统中集成Rust和Qt的实践

    Rust 拥有丰富的库生态系统,用于序列化和反序列化、异步操作、解析不安全输入、线程、静态分析等,而 Qt 是一个 C++ 工具包,支持跨各种平台的丰富的、基于 GUI 的应用程序,从 iOS 到嵌入式Linux。Qt 应用程序
    发表于 05-03 10:26 1726次阅读
    在嵌入式系统中集成<b class='flag-5'>Rust</b>和Qt的实践

    英伟达新款Blackwell GPU表现出众,AI训练性能及能源效率领先业界

    B200装载了2080亿电子元件,超过之前同类800亿件的整整两倍。这种规模庞大且功能相近的晶体管使其生产效率大幅提升,具备高达20 petaFLOPS的FP4运算能力。
    的头像 发表于 03-19 09:29 441次阅读

    美国政府呼吁开发人员使用内存安全编程语言

    所谓内存安全,即是防止程序在处理内存时产生如缓冲区溢出以及悬停指针等潜在漏洞。因此,尽管Java凭借其内存安全模式,不受此类问题影响,但
    的头像 发表于 02-29 14:40 738次阅读

    知语云智能科技揭秘:无人机威胁如何破解?国家安全新防线!

    方法,为国家安全筑起新的防线。 一、无人机威胁的现状与挑战 近年来,无人机滥用事件频发,从非法航拍到侵犯隐私,再到恐怖袭击和走私活动,无人机的潜在威胁不容忽视。这些事件不仅侵犯了公民的合法权益,也
    发表于 02-27 10:41

    [鸿蒙]OpenHarmony4.0的Rust开发

    背景 Rust 是一门静态强类型语言,具有更安全内存管理、更好的运行性能、原生支持多线程开发等优势。Rust 官方也使用 Cargo 工具来专门为
    的头像 发表于 02-26 17:28 827次阅读
    [鸿蒙]OpenHarmony4.0的<b class='flag-5'>Rust</b>开发

    谷歌捐款100万美元给Rust基金会,以增强C++Rust的交互性

    如今,谷歌多项核心业务仍以 C++为主要编程语言,虽然无法直接使用Rust替代现有的C++程序,但谷歌依然选择支持Rust基金会的“Interop Initiative”计划,帮助那些
    的头像 发表于 02-19 15:41 624次阅读

    鸿蒙OS之Rust开发

    Rust是一门静态强类型语言,具有更安全内存管理、更好的运行性能、原生支持多线程开发等优势。
    的头像 发表于 01-29 17:19 919次阅读

    一次Rust重写基础软件的实践

    受到2022年“谷歌使用Rust重写Android系统且所有Rust代码的内存安全漏洞为零” [1] 的启发,最近笔者怀着浓厚的兴趣也顺应Rust
    的头像 发表于 01-25 11:21 605次阅读

    Git开发者关注内存安全问题,探讨引入Rust语言

    根据最新披露的邮件讨论,Git开发团队热议在Git项目中引入Rust的可行性。作为一种开源的分布式代码版本管理工具,广泛运用于各种开发项目。尽管现在Git项目主要以C与Python为主要开发语言,但探讨显示,引入Rust能显著降
    的头像 发表于 01-15 14:23 586次阅读
    Git开发者关注<b class='flag-5'>内存</b><b class='flag-5'>安全</b>问题,探讨引入<b class='flag-5'>Rust</b>语言

    AD7760手册中单端转差分的参考电路会对信号有两倍的放大如何修改?

    AD7760手册中单端转差分的参考电路会对信号有两倍的放大,这样就降低了一半输入信号范围,能否改成其他没有两倍放大副作用的电路呢?如何修改?谢谢!
    发表于 12-22 06:10