Rust程式碼崛起!3.6萬行改寫Windows核心,C++地位不保了?
Rust程式碼崛起!3.6萬行改寫Windows核心,C++地位不保了?
2023.06.26 | 程式開發

取代C++,Rust真的要重寫萬物了!

在得到Linux、Google、亞馬遜雲等大廠青睞後,最近的爆炸消息——

微軟已經用3.6萬行Rust程式碼改寫了Windows核心

而且推進速度相當快,4月劇透消息,過了兩週,Windows 11內部預覽版已經用上了。

微軟雲Azure CTO在推特上激動喊話:

如果你加入了Windows 11 Insider Preview內測,你將首次體驗到Rust支援的Windows核心!

Rust程式碼2
微軟雲Azure CTO在推特上喊話:「如果你加入了Windows 11 Insider Preview內測,你將首次體驗到Rust支援的Windows核心!」
圖/ T客邦

重寫的核心中,主要包括DWriteCore 以及Win32 GDI兩個項目,並通過了Windows開機所有測試。

其中,Win32 GDI寫於上世紀80年代末90年代初,是工齡30多年的老程式碼了。

如今之所以被Rust取代,微軟給的理由簡單粗暴:

Rust語言有著極高的記憶體安全性,原來核心中大量的不安全的子例程也在改寫後消失不見。同時,Rust語言更簡潔高效。

公開資料還表示,隨著時間的推移,Windows核心對Rust的採用將被大幅擴展。

不光是大廠喜愛,Rust還連續多年成為Stack Overflow開發者調查中「最受歡迎的程式語言」。最近Unix系統的基礎工具sudo和su也要用Rust重寫了。

不過有點意外的是,Rust最初被發明出來,竟然是為了修電梯???

Rust程式碼的起源

萬事起源只在於2006年的某天,一位名叫格雷頓老哥(Graydon Hoare)住的那棟公寓,電梯又壞了。

第n次,他一邊碎念一邊努力爬向自己位於21樓的家。他想不通,電梯系統為什麼這麼容易崩潰呢?不應該呀!

作為一名大廠程式設計師,格雷頓老哥覺得,這事不是不能解決。

當時他29歲,正在開源網頁瀏覽器Mozilla公司(火狐背後的公司)工作。作為業內人士,他深知大多數的電梯故障,都是編寫程式的語言很容易意外引入記憶體錯誤,從而引發軟體崩潰。

而當時電梯軟體往往是用C或C++語言編寫。

它們的優點是緊湊、快速,但問題是非常容易引發記憶體錯誤,導致系統崩潰,甚至是安全問題。

所以一不做二不休,格雷頓老哥為了不再爬樓,乾脆決定搞個新程式語言出來。

目標就是不容易記憶體錯誤的語言,最好更短、更快。

於是,Rust語言誕生了。

Rust
Rust可能會取代C++嗎?
圖/ Rust

而且Rust的取名,也很有意思。

Rust和一種真菌同名,中文學名植物銹病,格雷頓評價是「為了生存而過度設計」。

這種真菌生物結構完全是分佈式的,空間上無單點失敗,也就是說單獨去掉哪部分都不影響它的存活,非常強健。

葡萄銹病_葉片病徵_mod
植物銹病
圖/ 行政院農委會農業試驗所

在全生命週期中,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,老哥似乎更喜歡做一線開發。

graydon-hoare__19551
開發Rust程式語言的格雷頓(Graydon Hoare)。
圖/ IQ.wiki

他曾在回應“為什麼離開Rust團隊”中表示,2013年前後那段時間個人情感生活遭受重創(離婚),導致他沒有太多精力負責Rust團隊,後面他還在Mozilla總做了些低調且不著急上線的項目,然後就離職了。

直到2016年初,他接到了蘋果團隊的一個電話,表示正在找幫忙開發Swift的程式設計師,“是一個非領導職位,我更喜歡”。

C/C++太危險!Rust靠著安全性成為微軟、Google寵兒

但到這裡,Rust的傳奇故事才說了一半。

憑藉著“安全性高”的初衷,近幾年它在大廠中的受歡迎度也越來越高。

不僅是Windows,Linux、Android這些主流系統也都先後擁抱Rust。亞馬遜雲、微軟、Google和Rust的關係也一直不錯。

之所以會如此,主要原因或許還是C/C++在記憶體安全方面,真的不太行。

比如微軟幾年前就對Rust很感興趣了,他們將其認定為產品交付前消除記憶體安全漏洞的好辦法。

2019年,微軟承認其產品被CVE披露的漏洞中,有70%是因為使用C/C++後導致的記憶體安全漏洞。

而Rust工具鏈關注揪出程式碼中的潛在漏洞,這在理想情況下能減少程式碼被駭客攻擊的可能。

延伸閱讀:怎麼自動化「雙向同步」Notion、Google 日曆?三工具一次搞定

另一邊,Linux核心也已引入Rust。

去年,由Linux基金會主辦的2022開源峰會上,Linus突然宣布,也許下一個版本就要把Rust加入進來了!

這意味著官方將把Rust for Linux的PR合併到Linux核心的主線里。

(Rust for Linux是一個呼籲Linux和Rust結合的組織)

要知道,此前光是Rust的支援更新就已發佈到第七版了。

當時現場聽到這一消息,立刻掌聲雷動,以至於Linus花了好一會兒才讓大家平靜下來。

幾個月過後,Linux 6.1版本發佈,核心增加了Rust支援,成為了C語言之外的第二種官方語言。

Google這邊的動作其實更早。

2021年Android 12發佈,即宣佈支援Rust。從這以後,他們就一直在Android開放原始碼專案中擴大Rust的使用。

不過Google的做法不是立刻讓Rust來替代C/C++,而是新程式碼用Rust來寫。

從官方發佈的資料裡可以看到, C和C++還是佔主導地位,Rust的比例在逐步提升

Rust程式碼3
Rust在Google的使用比率逐步提升。
圖/ T客邦

而截止去年年底,Google表示,Android中用Rust寫的部分,還沒有發現任何安全漏洞。

這個結果非常重要,因為它意味著Rust能有效防止Android中最常見的漏洞——也就是記憶體安全漏洞。Google的資料顯示,記憶體安全漏洞在各類漏洞中的佔比都非常高。

Rust程式碼4
記憶體安全漏洞是相當常見的漏洞。
圖/ T客邦

在許多C/C++寫的元件中(如藍牙、NFC等),每一千行程式碼中就會有1個漏洞。按照這個比例來換算,Rust很可能已經阻止了數百個漏洞。

以及基於它高並行的優點,在Android中使用Rust,還能進一步平衡系統安全和延遲,一般來說一些安全措施會導致程式語言變慢。

比如使用新的UWB堆疊,可以節省幾兆記憶體,並通過現有處理程序運行來避免一些IPC延遲。

亞馬遜雲對Rust也格外喜歡,因為它在節省能源上同樣表現很nice。

一項研究測試了27種程式語言,結果發現C和Rust在能源利用方面,比Java高效50%,比Python高效98%。

但C的問題已經說了很多遍了,記憶體安全漏洞多,所以綜合這麼一看,Rust又贏了。

Rust程式碼5
Rust在節省能源上表現也很不錯。
圖/ T客邦

實際上, 大廠們對Rust已經不只是青睞,甚至是寵愛了

2020年,Rust背後公司Mozilla宣佈大規模裁員,Rust團隊被裁掉,Rust的命運陷入巨大的不確定中。

為了規避掉這種隱憂,亞馬遜、微軟、Google、華為等大廠,直接共同發起了一個Rust非盈利基金會。承諾兩年內投入約100萬美元預算,支援Rust項目維護。

而在業內,Rust的事蹟更是數不勝數。

最近,兩個類Unix的核心實用程式sudo和su正在用Rust重寫中;此前,GitHub痛改自家搜尋引擎基於Rust;Discord一個Go服務也用Rust重寫了……

(歪樓一下,Rust在加密貨幣領域也很受歡迎)

不過,Rust也存在缺點,比如學到後面會比較難,剛上手的開發速度也比Go、Java慢很多。

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

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

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

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

延伸閱讀:怎麼把Google文件、試算表串起來,不用手動複製貼上?必學「No Code 工作術」一次看

本文授權轉載自:T客邦

責任編輯:林美欣

往下滑看下一篇文章
2027年臺灣新創募資可望達50億美元?邱德成:臺灣打造「亞洲創新山脈」須接納風險、突破思維
2027年臺灣新創募資可望達50億美元?邱德成:臺灣打造「亞洲創新山脈」須接納風險、突破思維

臺灣的新創募資生態正在加速成長,募資額去年已超過新臺幣1,000億元,且新創規模近十年成長加速3倍。隨著產業創新動能不斷累積,政府設定下一波目標,放眼2027年將新創募資規模提升至50億美元。中華民國創業投資商業同業公會理事長暨益鼎創業投資董事長邱德成對此表示,隨著「亞洲創新籌資平臺」的成立,這個機會將大幅提高。

投入資本市場領域工作近40年的邱德成,經歷過承銷、投資、保險公司經營到創投等多項經驗,並且長年倡議「臺灣應該有一個像美國NASDAQ的上市板塊」。因此邱德成直言,臺灣須徹底拋棄過往對獲利的要求,把創新板視為「擁抱創新與風險的資本市場,成為國家最強大的一個成長動能」,透過制度創新與國際鏈結,將臺灣打造成「亞洲創新山脈」。

迎向50億美元目標,亞洲創新籌資平臺的三大戰略建議

他山之石,可以攻錯。邱德成分析過去20年來NASDAQ指數成長超過10倍,遠超過紐約證交所的成長幅度。臺灣若要享受同樣成果,我們的思維也同樣要「承擔風險、容忍錯誤並接納創新」。2027年臺灣的新創募資規模若要突破50億美元,邱德成從創投公會的角度,提出三大戰略建議,有望讓臺灣成為「以技術為核心的資本市場集散地」。

首先是扣合國家產業戰略,例如六大核心或五大信賴產業主軸,讓國際投資人清楚掌握臺灣擅長什麼、未來要往哪裡走,自然提升全球資金對臺灣市場的信心。其次,串聯跨國資本與在地創投,打造聯合投資網絡。邱德成表示,「亞洲主要創投與家族資金集中在新加坡、香港,但真正深懂科技製造與供應鏈的是臺灣,因此平臺可善用此優勢,補上現在區域資本版圖中的關鍵拼圖。」

至於第三個建議聚焦於「打通多元退場路徑,加速資金再循環」。邱德成深信穩健的創投生態,需具備多元進退場路徑,IPO是其中一環,併購與戰略投資同樣重要。「我們創投公會有特別倡議修訂《產業創新條例》,目標是擴大法人投資抵減範圍、延長新創投資獎勵年限,以及建立對併購出場更友善的誘因,有助於形成健康正向的生態,」邱德成補充道。

培養下一代護國群山!創新板3.0如何加速資本循環?

臺灣不能只依賴半導體產業的戰略,可發現近年我國積極打造下一代護國群山,聚焦AI、淨零(綠能)、生技、資安通訊與國防自主等領域。不過這些領域的共同特徵是研發週期長、資本密度高、風險也相對高,更需長期資本支持。

邱德成理事長強調,本次創新板3.0的全面鬆綁,正是補上臺灣長期欠缺的這塊「創新拼圖」,透過加速資本循環,成為培養新護國群山的關鍵。首先是創新板門檻放寬可望加速掛牌提升成長曲線能見度。邱德成觀察過去新創從創立到上市平均約15年,而現在有創新板將其縮短到5到10年掛牌,加上擁抱創新、接納風險的市場心態,讓新創公司能從資本市場早點取得資金。

創新板3.0另一優勢為強化市場流動性,進而保障創投安心投入。邱德成指出,對創投而言,「投入」與「退場」同等重要,創新板開放投信基金與一般投資人進場,同時開放當沖則創造交易量,使股價更真實反映企業的技術與成長性,確保股票能「買得到、賣得掉、賣得穩」,讓創投更安心將資金投入到高風險的資本市場中。

另外,邱德成認為亞洲創新籌資平臺啟動之後,國發基金的搭配投資機制也能順勢調整。目前多採1:1搭配投資的方式,若能放寬1:2、1:3的共同投資機制,讓政策資金更有效帶動民間創投、CVC、家族辦公室與大型企業的投入。同時投資標的若能從國內擴大到境外優質企業,方能吸引更多國際級企業來臺設點、合作研發、甚至掛牌上市。

因此邱德成肯定表示:「創投公會的角色,是協助政策資金『投得準』、民間資金『跟得上』、國際資源『引得進來』。當政策帶頭、創投放大、產業落地能夠三者合一,才可能真正培養出臺灣下一代的護國群山。」

創投公會扮演重要橋梁,將「活水」變成「影響力」

有了戰略建議、創新板制度改革,創投公會也以實際行動,包含對內、對外來引進更多資金活水。針對國內的佈局,邱德成提到創投公會扮演推動金融制度改革的橋梁,建議金管會調降保險業投資創投的風險係數,促使更多保險資金流向早期及成長型產業。另外他們也倡議將投資新創納入ESG永續報告書的評鑑加分項目,讓臺灣的上市櫃公司、金融機構的投資策略有更大驅動力。

至於對外的國際合作網絡,邱德成解釋公會會員本身就是最強的國際投資網絡,過去臺灣的創投業者、CVC投資大量亞洲、美國、日本與東協的新創企業,現在公會也透過共同投資、策略性資本佈局,把這些投資組合帶進臺灣市場。此外,公會已與日本、泰國、越南、新加坡的創投公會展開合作,將於2026年的創投年會中舉辦「亞洲創投論壇」,預計邀請亞洲、美國、以色列等創投生態成熟國家來臺交流。另外公會也會攜手證交所、櫃買中心共同出海招商,藉由投資來創造影響力,實現平臺「走向亞洲、連結全球」的目標。

對於亞洲創新籌資平臺的最終定位,邱德成再次呼籲,臺灣應該以全新視野及格局,打造一座亞洲創新山脈。他肯定表示:「臺灣正走在創新資本市場的黃金交叉點,只要制度到位、資本願意投入、戰略產業方向明確,臺灣完全有能力成為亞洲最重要的新創投資樞紐!」

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
進擊的機器人
© 2025 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓