欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

微软为什么从C/C++转向了Rust?

时间:2022-10-09 17:48:18 | 浏览:2249

作者 | JOAB JACKSON译者 | 弯月,责编 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)以下为译文:在上个月的AllThingsOpen虚拟会议上,微软云开发推广部的Ryan Levi

作者 | JOAB JACKSON

译者 | 弯月,责编 | 屠敏

头图 | CSDN 下载自东方 IC

出品 | CSDN(ID:CSDNnews)

以下为译文:

在上个月的AllThingsOpen虚拟会议上,微软云开发推广部的Ryan Levick解释了为什么微软在构建基础设施软件中逐渐从C/C++转向了Rust。他表示:“无论软件公司在工具和人员的培训上投入多少精力也不能解决问题,因为C++本质上就不是安全的语言。”并鼓励其他软件行业巨头也应该思考这个问题。

他说:“我们使用的语言由于年代久远、来自不同时代,无法为我们提供保护,让我们免受此类漏洞攻击。C++不是一种内存安全的语言,相信这一点无人有异议。

实际上,微软认为C++无法胜任编写关键任务的软件。业界非常需要高性能、内存安全的编程语言来开发底层系统。Levick表示,当今市场上最好的选择是Rust。

C/C++的问题无法解决

目前,C和C++是编写核心系统软件的默认语言。这种语言速度快,而且源代码可以直接汇编成机器语言。

但是,这些语言引发的与内存相关的bug(其中很多是安全隐患)让整个行业苦不堪言。Levick表示,如今源自微软的CVE中有70%是内存安全问题。他说:“前途未卜,情况没有任何改变。尽管我们为解决这个问题付出了巨大的努力,但这个问题依然普遍存在。”

从财务的角度来看,换成Rust很有道理,因为修补这类与内存相关的没完没了的bug需要付出昂贵的成本。Levick说,早在2004年,每个与内存相关的bug都会给业界造成大约25万美元的损失,而且微软的估计可能还比较保守。

当然,为了提高C++的安全性,软件业界已经付出了大量努力,尽管种种努力都有效,但并不能完全解决这个问题。

长期以来,我们最常使用的一种方法是,就如何编写更安全的代码对程序员展开更多培训。但是,“没有证据表明,对C和C++开发人员进行整体培训可以显著改善这个问题。”Levick根据微软大量的开发人员内部培训结果说。

静态分析是另一种解决方案。但是静态分析会带来太多开销,必须将静态分析紧密结合到构建系统中。Levick说:“因此,人们有很多借口不使用静态分析。如果静态分析不是默认就启用的,那么就起不到任何作用。”

运行时检查也是如此:“了解何时使用运行时检查、何时没有使用是非常困难的,有时甚至不可能。”他还补充说,这也带来了运维开销。

业界最佳机会

为了解决与内存有关的bug,微软安全响应中心发起了“安全系统编程语言”计划。他们投入了一些开发人员专门支持C/C ++。同时,他们还创建了一门新编程语言Verona,来开发安全的底层系统。但是,这个项目策略中第三个主要的部分,也是他们最有信心的部分,就是支持“直接解决这个问题的业界最佳机会”。

他说:“我们相信这个重任落到了Rust肩上。”

就性能而言,Rust与C/C++旗鼓相当,甚至更快。Rust通过软件包管理、现代测试框架等提高了开发人员的生产力。因为这个原因程序员非常喜欢Rust。

但是,微软如此着迷于Rust的主要原因是它是一种内存安全的语言,而且只需要最少量的运行时检查。Rust擅长创建正确的程序。简单来说,正确性就是编译器会检查程序是否存在不安全的操作,从而减少运行时错误。不安全的关键字也可以使用,但并不是默认推荐。在安全的Rust代码中,不安全的代码永远只是一小部分。不安全模式对于需要内存分配的任务(例如编写设备驱动程序)是必须的。但在Rust中,即便内存的不安全部分也封装在API的后面。

Levick表示,这种安全编程的能力不容忽视。实际上,它带来的提升远远不止十倍,因此值得进行投资。这主要是因为几乎所有的C/C++代码都需要进行安全性审核以检查不安全行为,而用Rust编写的代码中,需要检查的不安全代码只是大多数代码库的一小部分。

虽然微软看好Rust,但Levick承认近期内微软核心开发人员不会停止使用C/C++。

他说:“微软有很多C++代码,而且这些代码无处不在。实际上,微软将继续使用C++来编写程序,而且还要使用很长一段时间。”

许多工具都是围绕C/C++构建的。特别是,目前微软的二进制文件几乎完全建立在Visual C ++编译器上,它会生成MSVC二进制文件,而Rust则依赖LLVM。

不过,也许最大的挑战是文化。Levick表示:“有些人想用他们熟知的语言来完成工作。”

尽管如此,整个软件行业似乎都在向着Rust迈进。AWS使用Rust来部署Lambda无服务器运行时,以及EC2的某些部分。Facebook已开始使用Rust,此外还有苹果、Google、Dropbox和Cloudflare也在使用。

原文:
https://thenewstack.io/microsoft-rust-is-the-industrys-best-chance-at-safe-systems-programming/

本文为 CSDN 翻译,转载请注明来源出处。

相关资讯

微软为什么从C/C++转向了Rust?

作者 | JOAB JACKSON译者 | 弯月,责编 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)以下为译文:在上个月的AllThingsOpen虚拟会议上,微软云开发推广部的Ryan Levi

微软CTO建议业界弃用C/C++,遭C++之父回怼

IT之家 9 月 22 日消息,9 月 20 日,微软 Azure 首席技术官(CTO)Mark Russinovich 在推特上称,建议业界弃用 C / C++ 编程语言。Mark Russinovich 表示,是时候停止使用 C / C

Python是如何在微软发展壮大的

如果你的公司在拥抱开源的道路上进展缓慢,不妨从微软的Python经验中取取经。随着我们跨入2019年,很显然,对我们来说,仅仅做一个软件消费者是不够的, 还需要引导像Capital One和Comcast这样的大企业意识到:软件正在“吞噬世

阿里腾讯微软拥抱低代码,程序员们要“失业”?

今年年初,阿里云智能总裁张建锋在接受《钛媒体》专访时说:“2021年的潮流就是低代码开发。”只需要拖拽操作或者几行基础代码,就能完成以往需要程序员才能搭建的各类应用系统,对效率要求较高的企业而言,是不是很有吸引力?这正是低代码甚至无代码平台

中国第一程序员,一己之力做出WPS硬刚微软,马云都要叫前辈

最近,所长被乡村教师马云“退休”的消息疯狂刷屏,相信大家应该也看过无数推送了。所长注意到,这些推送中都提到了一个词:第一代互联网人。词语的意思很好理解,论资排辈,马云确实称得上第一代。但要较真起来,比马云资格老的还是有,且不在少数,其中又以

微软画图应用更新,进一步升级Win11风格WinUI元素

IT之家 3 月 19 日消息,去年 12 月,微软测试了新的画图应用程序。新版应用在“编辑颜色”和“调整大小和倾斜”对话框中获得了 Windows 11 风格的设计主题。现在在最新的预览版 Windows 11 中,微软进一步优化了画图的

开发者为微软Win11画图应用制作黑暗模式皮肤

IT之家 12 月 25 日消息,据外媒 WindowsLatest 消息,微软 Win11 自带的画图应用,此前更新了新版 UI 界面,采用圆角设计语言,取色器也变为圆形。此外,这个软件还支持 Mica 功能,系统桌面背景可以转移至画图、

88岁老奶奶画画130天狂吸20万粉,用微软画图板画画,画得比我强

当我们老了,真正想要的,并非物质而是心灵的富足想获得幸福就是希望心灵得以充实在中国有一群“歪果仁”每年都到中国美院学习国画她们中年龄最低的有50岁,最高的有75岁更令人惊叹的是,她们的国画与书法水平丝毫不亚于地道的中国人据媒体报道:这群老人

科技让教育更美好:华师教育云“AI同步课堂”亮相微软人工智能峰会

2019-11-14 18:43 11月13日,“智汇青岛·AI赋能百业未来" 2019微软人工智能峰会在青岛市崂山区举行。峰会承办方、华师云科技(青岛)集团有限公司董事长龚浩出席会议,并在会前同微软全球资深副总裁、微软亚洲研究院院长洪小文

美国大厂开启裁员潮,微软、英特尔裁上千人,马斯克:推特裁75%

本文来源:时代周报 作者:马欢一觉醒来,整个团队都被老板炒掉是怎样的体验?格雷格·查普曼就在最近深切感受到。作为微软旗下Studio Alpha的首席架构师,查普曼在刚刚过去的一周被通知,他所在的Studio Alpha工作室彻底关闭,团队

微软将放弃Windows对PHP的支持

IT之家 7 月 12 日消息 据微软官方介绍,微软将在 Windows 上放弃对 PHP 的支持。从 Windows Vista 开始 Windows 就开始支持 PHP。Microsoft PHP 项目经理 Dale Hirt 近日提供

友情链接

网址导航 SEO域名抢注宝宝起名网妈妈知道币圈希腊旅游网荣耀手机评测网韦尔股份A股德天瀑布旅游攻略荆门新闻资讯网九阳豆浆机评测网刷卡机品牌网体育资讯网平面模特资讯龙潭古镇旅游网湖南旅游网郑姓兔宝宝起名户外越野发烧友平顶山新闻头条网戴尔电脑评测网
比尔盖茨故事网-比尔盖茨全名威廉亨利盖茨三世,简称比尔或盖茨,企业家、软件工程师、慈善家、微软公司创始人、曾任微软董事长、CEO和首席软件设计师。比尔盖茨曾经连续13年位居世界首富,热衷于慈善,盖茨热爱读书,喜欢打高尔夫球和桥牌。微软公司在个人计算和商业计算软件、服务和互联网技术方面都是全球范围内的领导者。
比尔盖茨故事网 chongwuwo.cn ©2022-2028版权所有