微軟:使用Rust重寫Windows組件的體驗“妙不可言”

7月份,我們報(bao)道過“微軟正探(tan)索將(jiang)Rust作(zuo)為C和C++的(de)安全替代(dai)方(fang)案”,根據微軟的(de)說法,Rust是一種(zhong)從根本上(shang)考慮安全性的(de)編程(cheng)語(yu)言,他(ta)們將(jiang)嘗試使用Rust重(zhong)寫各種(zhong)產品,因為在(zai)過去的(de)十年里,該(gai)公司70%以上(shang)的(de)安全補(bu)丁都提(ti)供了(le)與內存相關(guan)的(de)錯誤(wu),而Rust正是解決(jue)這個問題的(de)“良(liang)藥”。
近日,微(wei)軟透(tou)露了使用Rust代替C/C++編寫Windows組件的實(shi)(shi)驗的感受。雖然它(ta)并沒有具體說明哪些(xie)產品將(jiang)(jiang)用Rust重寫,但(dan)微(wei)軟表示(shi)將(jiang)(jiang)隨時向用戶報告(gao)實(shi)(shi)驗進展情(qing)況(kuang)。
微軟表(biao)示,目前(qian)的實(shi)驗工(gong)作情況(kuang)良好,工(gong)程師(shi)們描(miao)述在使用(yong)Rust上是“妙不可言”的。盡(jin)管(guan)有一些功(gong)能并沒有完成,但會推動項目繼續向前(qian)發展。
微軟Hyper-V團(tuan)隊軟件工程師Adam Burch在博文中說:
我的(de)(de)(de)任務是(shi)對Windows代(dai)碼庫(ku)的(de)(de)(de)一個(ge)低級別系統(tong)組件進行實驗(yan)性重寫(xie)(目前不(bu)能透露是(shi)哪個(ge)組件),雖(sui)然這個(ge)項目還沒有(you)完(wan)成,但總的(de)(de)(de)來說,在(zai)Rust方面的(de)(de)(de)試驗(yan)體驗(yan)是(shi)非常好(generally positive)。新的(de)(de)(de)組件或現有(you)的(de)(de)(de)具有(you)干凈(jing)接口的(de)(de)(de)組件移(yi)植到Rust是(shi)很容易(yi)的(de)(de)(de)。
雖然,試驗Rust的過程進展并不(bu)(bu)順利,但話說回來(lai)如果預想是順利的,那也顯得不(bu)(bu)現實。Burch指(zhi)出(chu)安(an)全轉換、對C的安(an)全支(zhi)持(chi)(chi)、準確的分配以及對大規模單元測試的支(zhi)持(chi)(chi),是微軟(ruan)龐大的代碼測試基礎(chu)設(she)施(shi)所需要的。Burch認為,微軟(ruan)將通過努(nu)力塑造語言的未來(lai),以提(ti)高(gao)其在這些情況下的有用性。
Burch補(bu)充說道,Rust在(zai)單片機和(he)(he)諸如內核和(he)(he)虛擬機監控程序等低級系統(tong)上有(you)著光明的前景,在(zai)這些系統(tong)中,一旦成熟,該語(yu)言的安全性第一特性將使(shi)其具有(you)相當大的吸引(yin)力(li)。而目前,在(zai)單片機市場上,主要是英特爾在(zai)支(zhi)持(chi)和(he)(he)推動,它(ta)正(zheng)在(zai)努力(li)使(shi)Rust達到與C相同的功能。
微軟如果(guo)想使用Rust重(zhong)寫一(yi)(yi)些Windows組件(jian),成為第(di)一(yi)(yi)個這樣做的操(cao)作(zuo)系統制作(zuo)商的話,那么(me)應該(gai)要加快(kuai)速(su)度了,因為Linux項(xiang)目也在考慮在一(yi)(yi)些內核驅動程(cheng)序中使用Rust。