成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

取代C++!3.6萬行Rust代碼改寫Windows內核,這門語言最早竟用來修電梯

人工智能 新聞
公開資料還表示,隨著時間的推移,Windows內核對Rust的采用將被大幅擴展。

取代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也存在缺點,比如學到后面會比較難,剛上手的開發速度也比Go、Java慢很多。

所以Rust好評度高,但是“賣座率”還比較一般,甚至會被打上“冷門語言”的標簽。

尤其是國內對Rust招聘,簡直可以用“少得可憐”來形容。

有網友抱著悲觀態度:

圖片

為此,Rust也在進一步優化自身。

根據其發布的Rust 2024路線中,官方團隊將在降低學習門檻、壯大生態連接等方面加大努力。

所以,后面Rust會怎么走下去,也還是值得期待了~

責任編輯:張燕妮 來源: 量子位
相關推薦

2020-03-10 16:28:31

代碼開發工具

2023-06-28 14:18:06

2024-03-13 15:48:43

2015-09-01 16:26:18

Linux內核

2021-03-02 13:56:24

Linux 5.12代碼驅動

2022-06-25 21:22:30

編程Rust代碼

2019-01-03 09:29:15

Linux 系統 數據

2022-10-21 18:41:23

RustC++Azure

2009-07-21 08:44:14

微軟Linux內核開源操作系統

2023-03-16 15:00:31

CarbonC++編程語言

2020-07-07 10:55:01

C++C語言代碼

2020-05-27 14:10:50

代碼開發工具

2009-07-21 08:51:33

微軟發布Linux設備微軟開源虛擬化

2009-08-20 16:34:50

Linux源代碼紅帽Linux內核

2011-05-03 09:10:12

項目管理程序員

2018-10-15 09:20:08

代碼軟件工程師

2019-04-19 13:01:12

Java代碼庫Go代碼移植

2012-07-23 09:58:50

代碼程序員

2020-02-24 16:27:19

開源大數據計算引擎

2025-01-26 16:12:52

PythonRust開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成人深夜福利 | 久久综合久色欧美综合狠狠 | a级毛片国产 | 成人在线视频观看 | 成人国产精品一级毛片视频毛片 | 国产综合久久 | 精品亚洲一区二区 | 中文字幕免费在线 | 精品久久影院 | 澳门永久av免费网站 | 国产成人精品午夜 | 天天色图 | 午夜爽爽爽男女免费观看影院 | 午夜精品一区二区三区在线视频 | 91久久北条麻妃一区二区三区 | www.蜜桃av| 精品久久久久久久久久久下田 | 91精品国产自产精品男人的天堂 | 亚洲精品一二三区 | 欧美一级久久 | 九九看片 | 亚洲人成网亚洲欧洲无码 | 国产综合一区二区 | 最新超碰 | 午夜免费福利片 | 午夜一区二区三区视频 | 免费在线视频a | 日日做夜夜爽毛片麻豆 | 午夜小影院 | 国产69精品久久99不卡免费版 | 2019天天干夜夜操 | 久久久久久久久99 | 亚洲综合视频 | av黄色在线| 日本一区二区高清视频 | 成人网在线观看 | 成人在线免费观看视频 | 亚洲 欧美 在线 一区 | 欧美999 | 伊人91在线| 国产一级片在线观看视频 |