取代C++,Rust真的要重写万物了!
(资料图片)
在得到Linux、谷歌、亚马逊云等大厂青睐后,最近的爆炸消息——
微软已经用3.6万行Rust代码改写了Windows内核。
而且推进速度相当快,4月剧透消息,过了两周,Windows 11内部预览版已经用上了。
微软云Azure CTO在推特上激动喊话:
如果你加入了Windows 11 Insider Preview内测,你将首次体验到Rust支持的Windows内核!
重写的内核中,主要包括DWriteCore 以及Win32 GDI两个项目,并通过了Windows开机所有测试。
其中,Win32 GDI写于上世纪80年代末90年代初,是工龄30多年的老代码了。
如今之所以被Rust取代,微软给的理由简单粗暴:
Rust语言有着极高的内存安全性,原来内核中大量的不安全的子例程也在改写后消失不见。同时,Rust语言更简洁高效。
公开资料还表示,随着时间的推移,Windows内核对Rust的采用将被大幅扩展。
不光是大厂喜爱,Rust还连续多年成为Stack Overflow开发者调查中“最受欢迎的编程语言”。最近Unix系统的基础工具sudo和su也要用Rust重写了。
不过有点意外的是,Rust最初被发明出来,竟然是为了修电梯???
怒爬21层楼后决定开发新语言
万事起源只在于2006年的某天,一位名叫格雷顿老哥(Graydon Hoare)住的那栋公寓,电梯又坏了。
第n次,他一边骂骂咧咧一边努力爬向自己位于21楼的家。他想不通,电梯系统咋就这么容易崩溃呢?不应该呀!
作为一名大厂码农,格雷顿老哥觉得,这事儿不是不能解决。
当时他29岁,正在开源网页浏览器Mozilla公司(火狐背后的公司)打工。作为业内人士,他深知大多数的电梯故障,都是编写程序的语言很容易意外引入内存错误,从而引发软件崩溃。
而当时电梯软件往往是用C或C++语言编写。
它们的优点是紧凑、快速,但问题是非常容易引发内存错误,导致系统崩溃,甚至是安全问题。
所以一不做二不休,格雷顿老哥为了不再爬楼,干脆决定搞个新编程语言出来。
目标就是不容易内存错误的语言,最好更短、更快。
于是,Rust语言诞生了。
而且Rust的取名,也很有意思。
Rust和一种真菌同名,中文学名植物锈病,格雷顿评价其“为了生存而过度设计”。
这种真菌生物结构完全是分布式的,空间上无单点失败,也就是说单独去掉哪部分都不影响它的存活,鲁棒性贼强。
在全生命周期中,Rust真菌共有5种生命形态,其中3种形态还能倒退回上一形态,几乎等同于蝴蝶还能变回毛毛虫重新生长。
而且,Rust真菌可以多宿主寄生,恰能映射Rust语言对语言间互操作性的重视。
△患有Rust的植物(密恐患者们对不起了!)
在单枪匹马个人开发几年后,2009年,Rust得到Mozilla公司研究院的支助;2010年项目对外公布。
研发过程中,Rust已经建立了一个活跃度极高的社区,任何开发者都可以直接给这个项目提bug,或者直接贡献源码。
2015年5月,Rust的1.0版正式发布。
仅仅一年光景,Rust就吸纳了无数的拥趸。2016年起,它连续7年被Stack Overflow开发者调查评为“最受欢迎的编程语言”。
连续荣登榜首所依仗的优点,一是运行速度快,二是内存利用率高,三是防止段错误。
简而言之,是在某些部分可以取代C/C++的利器。
所以代码江湖流传着一种说法,把Rust比作跑酷,可以做高危险动作,但是不太容易伤害到自己。
相比之下,C++可以看作是在玩带火的电锯。
而凭借着开发Rust,格雷顿老哥也一战成名。
之后几年内,他还参与了Swift的开发。
说来这也是一段有意思的故事。相比于当团队leader,老哥似乎更喜欢做一线开发。
他曾在回应“为什么离开Rust团队”中表示,2013年前后那段时间个人情感生活遭受重创(离婚),导致他没有太多精力负责Rust团队,后面他还在Mozilla总做了些低调且不着急上线的项目,然后就离职了。
直到2016年初,他接到了苹果团队的一个电话,表示正在找帮忙开发Swift的程序员,“是一个非领导职位,我更喜欢”。
靠着安全性成为大厂宠儿
但到这里,Rust的传奇故事才说了一半。
凭借着“安全性高”的初衷,近几年它在大厂中的受欢迎度也越来越高。
不仅是Windows,Linux、Android这些主流系统也都先后拥抱Rust。亚马逊云、微软、谷歌和Rust的关系也一直不错。
之所以会如此,主要原因或许还是C/C++在内存安全方面,真的不太行。
比如微软几年前就对Rust很感兴趣了,他们将其认定为产品交付前消除内存安全漏洞的好办法。
2019年,微软承认其产品被CVE披露的漏洞中,有70%是因为使用C/C++后导致的内存安全漏洞。
而Rust工具链关注揪出代码中的潜在漏洞,这在理想情况下能减少代码被黑客攻击的可能。
另一边,Linux内核也已引入Rust。
去年,由Linux基金会主办的2022开源峰会上,Linus老爷子突然官宣,也许下一个版本就要把Rust加入进来了!
这意味着官方将把Rust for Linux的PR合并到Linux内核的主线里。
(Rust for Linux是一个呼吁Linux和Rust结合的组织)
要知道,此前光是Rust的支持补丁就已发布到第七版了。
当时现场听到这一消息,立刻掌声雷动,以至于Linus花了好一会儿才让大家平静下来。
几个月过后,Linux 6.1版本发布,内核增加了Rust支持,成为了C语言之外的第二种官方语言。
谷歌这边的动作其实更早。
2021年Android 12发布,即宣布支持Rust。从这以后,他们就一直在Android开源项目中扩大Rust的使用。
不过谷歌的做法不是立刻让Rust来替代C/C++,而是新代码用Rust来写。
从官方发布的数据里可以看到,C和C++还是占主导地位,Rust的比例在逐步提升。
而截止去年年底,谷歌表示,Android中用Rust写的部分,还没有发现任何安全漏洞。
这个结果非常重要,因为它意味着Rust能有效防止Android中最常见的漏洞——也就是内存安全漏洞。谷歌22年的数据显示,内存安全漏洞在各类漏洞中的占比都非常高。
在许多C/C++写的组件中(如蓝牙、NFC等),每一千行代码中就会有1个漏洞。按照这个比例来换算,Rust很可能已经阻止了数百个漏洞。
以及基于它高并发的优点,在Android中使用Rust,还能进一步平衡系统安全和延迟,一般来说一些安全措施会导致编程语言变慢。
比如使用新的UWB堆栈,可以节省几兆内存,并通过现有进程运行来避免一些IPC延迟。
亚马逊云对Rust也格外喜欢,因为它在节省能源上同样表现很nice。
一项研究测试了27种编程语言,结果发现C和Rust在能源利用方面,比Java高效50%,比Python高效98%。
但C的问题已经说了很多遍了,内存安全漏洞多,所以综合这么一看,Rust又赢了。
实际上,大厂们对Rust已经不只是青睐,甚至是宠爱了。
2020年,Rust背后公司Mozilla宣布大规模裁员,Rust团队被裁掉,Rust的命运陷入巨大的不确定中。
为了规避掉这种隐忧,亚马逊、微软、谷歌、华为等大厂,直接共同发起了一个Rust非盈利基金会。承诺两年内投入约100万美元预算,支持Rust项目维护。
而在业内,Rust的事迹更是数不胜数。
最近,两个类Unix的核心实用程序sudo和su正在用Rust重写中;此前,GitHub痛改自家搜索引擎基于Rust;Discord一个Go服务也用Rust重写了……
(歪楼一下,Rust在加密货币领域也很受欢迎)
不过,Rust也存在缺点,比如学到后面会比较难,刚上手的开发速度也比Go、Java慢很多。
所以Rust好评度高,但是“卖座率”还比较一般,甚至会被打上“冷门语言”的标签。
尤其是国内对Rust招聘,简直可以用“少得可怜”来形容。
有网友抱着悲观态度:
为此,Rust也在进一步优化自身。
根据其发布的Rust 2024路线中,官方团队将在降低学习门槛、壮大生态连接等方面加大努力。
所以,后面Rust会怎么走下去,也还是值得期待了~
参考链接:
[1]https://www.thurrott.com/windows/windows-11/282995/first-rust-code-shows-up-in-the-windows-11-kernel
[2]https://www.technologyreview.com/2023/02/14/1067869/rust-worlds-fastest-growing-programming-language
[3]https://www.reddit.com/r/rust/comments/7qels2/i_wonder_why_graydon_hoare_the_author_of_rust/
[4]https://arstechnica.com/information-technology/2023/05/two-core-unix-like-utilities-sudo-and-su-are-getting-rewrites-in-rust/
[5]https://security.googleblog.com/2022/12/memory-safe-languages-in-android-13.html?m=1
[6]https://aws.amazon.com/cn/blogs/opensource/sustainability-with-rust/
-
取代C++!3.6万行Rust代码改写Windows内核:最早竟用来修电梯取代C++!3 6万行Rust代码改写Windows内核:最早竟用来修电梯
-
环球最新:支付宝创新力持续上升,入列浙江创造力百强第二编程客栈(www cpp编程cns com)5月29日消息:近日,浙江省知识产权协会公布2022年浙江省创造力百强企业榜单
-
民警化身“快递员” 送证上门获好评 天天热消息中新网黑龙江新闻5月29日电(刘璐)“真是太感谢警察同志了,我们平时的工作太忙了,要不是警察同志将出入境
-
世界热议:剑灵pk最强职业_剑灵pk最强职业1、你知道剑灵单刷最强的职业吗?我们一起来看看吧。2、剑刷职业能力分析3、剑刷是最强职业。4、刺客(第一
-
【环球时快讯】车坛快报|商务部答汽车出口工作安排本资讯由中国交通广播制作商务部答汽车出口工作安排5月25日,在商务部例行新闻发布会上,商务部新闻发言人
-
探讨科学教育范式 2023中关村“教育+科技”创新周开幕 天天微头条5月27日,2023中关村“教育+科技”创新周(以下简称创新周)在中关村互联网教育创新中心正式开幕。本届创新周
-
2023年广西护士资格证成绩查询时间、方式及入口-环球新消息5月26日起查分,具体详情如下:1 成绩查询时间即日起(5月26日起),2023年广西护士资格证考试成绩开放查询
-
中国代表在第76届世卫大会就福岛核污染水排海问题进行批驳人民网柏林5月28日电(记者刘仲华)中国代表5月27日在第76届世卫大会上就福岛核污染水排海问题发言,再次表
-
《最终幻想16》独占期结束后 也不会马上登PC自从《最终幻想16》公布以来,玩家们一直在询问该游戏的PC版本,特别是考虑到PS5独占的时间只有六个
-
《铁拳8》制作人原田胜弘展示绘画功底|环球播报原田胜弘最广为人知的身份可能就是BandaiNamco格斗游戏《铁拳》的制作人。然而,这位业界大佬
-
易华录5月29日盘中涨幅达5%以下是易华录在北京时间5月29日10:33分盘口异动快照:5月29日,易华录盘中涨幅达5%,截至10点33分,报34 13
-
高跟鞋踩肚子全过程 全世界肚子最大的孕妇今天来聊聊跟鞋踩肚子全过程,全世界肚子最大的孕妇的文章,现在就为大家来简单介绍下高跟鞋踩肚子全过程,
-
创投日:深圳金融崭新名片全新出发●源起:连出组合拳打造新名片●进程:月月有活动站站有亮点●成效:对接更专业融资降成本●跨越:合力更强
-
雪纺的缺点_环球快消息雪纺有彩虹般的纯色和印花可供选择。雪纺由天然丝绸或合成纤维制成,如涤纶或人造丝,是一种柔软、飘逸、价
-
优酷剧集沉浮|全球热议作者|赵梦秋编辑|胡展嘉运营|陈佳慧出品|零态LT(ID:LingTai_LT)毫无疑问,优酷仙侠剧《长月烬明》完
-
环球微动态丨图片新闻图片新闻
-
幼儿园特色课程都有哪些课程_幼儿园特色课程都有哪些1、现在各种特色课程很多,很多幼儿园增加了亲子课、蒙氏课、感统课、奥尔夫课、双语教学等,其实现在幼儿
-
柯兰多_关于柯兰多的介绍1、双龙汽车,一直专注于SUV,其产品都有着独特的市场定位和优异的性能。2、2013年9月27日新款柯兰多(Korand
-
环球微头条丨特殊类型招生控制线是什么意思2021-特殊类型招生控制线什么意思1、特殊类型招生控制线类似以前的自主招生最低录取控制参考线,是高校专项计划、高水平艺术团等招生资格线
-
世界最资讯丨春节放假安排(20不惑)当前大家对于20不惑都是颇为感兴趣的,大家都想要了解一下20不惑,那么小美也是在网络上收集了一些0不惑的
-
精彩看点:碳氧化钛1、碳氧化钛(TiCxOy),一种具有良好导电性的固溶体,主要是以TiO2和C按一定比例烧结而成。2、也有文献报道,
-
环球最新:一级岩土工程师薪资,一级岩土工程师薪资怎么样1、1注册岩土工程师算是目前非常热门的专业了,通过招聘网站上的消息,各地区普遍都是供不应求的状态,大部
-
搜狐汽车全球快讯 | 比亚迪或考虑在法国建厂 比亚迪:正评估建厂可行性近日,据外媒报道,比亚迪汽车希望在欧洲建厂,但仍在犹豫工厂的选址。法国是比亚迪正在考虑的国家之一,西
-
天天关注:伊索寓言有哪些故事英文名_伊索寓言有哪些故事1、农夫与蛇有天,农夫发现一条蛇冻僵了,他很可怜它,便把蛇放在自己怀里。2、蛇温暖后,苏醒了过来,恢复
-
世界通讯!葛优新电影古董局中局_葛优新电影1、《我和我的家乡》是由张艺谋担任总监制,宁浩担任总导演,张一白担任总策划,宁浩、徐峥、陈思诚、闫非
-
【世界播资讯】重罚!农信社员工违规办信用卡,套现超百万有业内人士指出,这背后反映了各机构积极响应监管要求,配合反电信网络诈骗、反洗钱工作;同时,也是在后疫
-
豆腐花的功效和作用点_豆腐花的功效 天天微头条1、豆腐花属豆制品,豆腐花里还含无钾、钙、镁,其外钙的含量比牛奶还多。2、豆腐花里无五类抗癌物量,其外
-
第十九卷 万水千山(中)_当前头条第九回诱饵禹门城中,羽、林等识乐斋剩余诸人还在城中逗留。林儿已经派了高长恭、杨懿、令华三人去宝珠公主
-
形容心情很紧张的词语_形容当时的心情很紧张的成语_急1、忐忑不安。2、惶恐不安。3、惊慌失措心急如焚六神无主心慌意乱如坐针毡坐卧不安忐忑不安心神不定七上八下
-
资讯:优雅的朋友们_优巢茶具优超从事的是用彩瓷优化家居生活的事业。优巢以“你最好的生活”为品牌口号,以“优化、多彩、拥有”为产品