当前位置:首页 > 科技  > 软件

倍杀!谷歌表示:Rust团队的开发效率是C++团队的两倍

来源: 责编: 时间:2024-04-09 09:09:34 241观看
导读编译丨诺亚出品 | 51CTO技术栈(微信号:blog51cto)谷歌的工程总监Lars Bergstrom在伦敦的Rust Nation UK大会上分享了谷歌将Go或C++编写的项目迁移到Rust语言的经验。他表示,使用Rust的开发团队相比于使用C++的团队,在工作

编译丨诺亚d6Y28资讯网——每日最新资讯28at.com

出品 | 51CTO技术栈(微信号:blog51cto)d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

谷歌的工程总监Lars Bergstrom在伦敦的Rust Nation UK大会上分享了谷歌将Go或C++编写的项目迁移到Rust语言的经验。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

他表示,使用Rust的开发团队相比于使用C++的团队,在工作效率上大约高出两倍。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

早在2016年Dropbox和2018年Figma就已经开始尝试用Rust重写代码以确保内存安全,但当时业界对于Rust在生产力和语言可靠性方面的疑虑并未完全消除。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

然而随着时间推移,尤其是在软件安全性日益成为国家基础设施关键问题的大背景下,非内存安全语言带来的挑战引起了更广泛的认识转变。美国和其他国家政府机构也强调了软件中内存安全的重要性。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

微软Azure首席技术官Mark Russinovich在2022年9月提出,原本可能选择C/C++进行开发的软件项目应考虑改用Rust,这一建议不仅适用于新项目,还扩展到对旧的、非内存安全语言编写的代码进行重构的需求。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

今年早些时候,微软甚至发出了求助呼吁,希望开发者协助将自家的C#代码移植至Rust,并且互联网安全研究组(ISRG)的Prossimo项目正在将一些核心开源组件,如NTP、DNS、TLS等重要库重写为Rust版本,旨在提高内存安全性。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

尽管C++之父Bjarne Stroustrup以及其他人士对此有所抵触,Stroustrup在回应2022年11月NSA关于内存安全的备忘录时指出,通过合适的工具,C++也能在较低成本下达到与Rust相当的内存安全保证。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

然而,像谷歌这样的Rust实践者提供的反例则显示,坚持使用现有C++基础设施的成本优势可能并不成立。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

谷歌内部将Go代码转换为Rust的过程中,发现重构后的项目开发所需的时间和人力并没有增加,反而显示出诸多优点。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

Bergstrom提到,将Go代码重写为Rust时,同等规模的团队可以在相同时间内完成工作,这意味着从Go转向Rust并不会导致生产力下降;相反,他们观察到了Rust代码带来的好处,比如服务内存使用量减少以及随着时间推移,用Rust重写的服务缺陷率逐渐降低,从而提高了程序正确性。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

更重要的是,相较于C++代码转为Rust的情况,Rust开发者的生产效率优势更为明显。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

此外,各方观点也指出,虽然内存安全性是软件安全的重要组成部分,但并非所有安全问题都能归结于内存安全。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

卡内基梅隆大学软件工程研究所等机构强调,所有编程语言都有其权衡之处,选择何种语言应取决于它是否适合特定应用场景。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

某些情况下,强调内存安全的语言可能会牺牲性能和时间要求,而且无论选用哪种语言,开发者都必须掌握正确的语法、语义、结构、习惯用法及工具,否则可能会出现其他类型的漏洞或缺陷。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

尽管如此,Rust通过避免内存相关的安全隐患,在许多场景下被视为提升软件安全性的有效手段之一。d6Y28资讯网——每日最新资讯28at.com

d6Y28资讯网——每日最新资讯28at.com

参考链接:https://www.theregister.com/2024/03/31/rust_google_c/d6Y28资讯网——每日最新资讯28at.com

想了解更多AIGC的内容,请访问:d6Y28资讯网——每日最新资讯28at.com

51CTO AI.x社区d6Y28资讯网——每日最新资讯28at.com

https://www.51cto.com/aigc/d6Y28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-82188-0.html倍杀!谷歌表示:Rust团队的开发效率是C++团队的两倍

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 十个超级实用的Java代码片段

下一篇: 《蛋仔派对》守护月开展多项反诈趣味活动,牢筑网络安全防护网!

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • 对标苹果的灵动岛 华为带来实况窗功能

    继苹果的灵动岛之后,华为也在今天正式推出了“实况窗”功能。据今天鸿蒙OS 4.0的现场演示显示,华为的实况窗可以更高效的展现出实时通知,比如锁屏上就能看到外卖、打车、银行
  • 中兴AX5400Pro+上手体验:再升级 双2.5G网口+USB 3.0这次全都有

    2021年11月的时候,中兴先后发布了两款路由器产品,中兴AX5400和中兴AX5400 Pro,从产品命名上就不难看出这是隶属于同一系列的,但在外观设计上这两款产品可以说是完全没一点关系
  • 线程通讯的三种方法!通俗易懂

    线程通信是指多个线程之间通过某种机制进行协调和交互,例如,线程等待和通知机制就是线程通讯的主要手段之一。 在 Java 中,线程等待和通知的实现手段有以下几种方式:Object 类下
  • Golang 中的 io 包详解:组合接口

    io.ReadWriter// ReadWriter is the interface that groups the basic Read and Write methods.type ReadWriter interface { Reader Writer}是对Reader和Writer接口的组合,
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人员可能会涉及各种各样的安全任务,包括但不限于:开发某些安全工具的插件,满足自己特定的安全需求;自定义github搜索工具,快速查找所需的安全资料、漏洞poc、exp
  • 10天营收超1亿美元,《星铁》比《原神》差在哪?

    来源:伯虎财经作者:陈平安即便你没玩过《原神》,你一定听说过的它的大名。恨它的人把《原神》开服那天称作是中国游戏史上最黑暗的一天,有粉丝因为索尼在PS平台上线《原神》,怒而
  • 小米MIX Fold 3下月亮相:今年唯一无短板的全能折叠屏

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都有新的进展,其中荣耀、三星都已陆续发布了最新的折叠屏旗舰,尤其号荣耀Magi
  • 3699元!iQOO Neo8 Pro顶配版今日首销:1TB UFS 4.0同价位唯一

    5月23日,iQOO推出了全新的iQOO Neo8系列,包含iQOO Neo8和iQOO Neo8 Pro两个版本,其中标准版搭载高通骁龙8+,而Pro版更是首发搭载了联发科天玑9200+旗舰
Top