微軟到底看上 Rust 了沒有?

 

點擊上方藍字關注咱們git

理清頭腦混沌,覺醒心智天地github


今天在 知乎文章 微軟看上的Rust 語言,安全性真的很可靠嗎 評論區看到這樣的評論:web


截圖並沒有惡意,只是爲了擺觀點

看來 Rust 和 微軟 宣傳的仍是不太夠啊!

微軟內部 Rust 到底應用到哪些方面 ?


正好有篇文章整理了:https://medium.com/the-innovation/how-microsoft-is-adopting-rust-e0f8816566ba
Microsoft具備世界上最大的C / C ++代碼庫之一。 從Windows和Office到Azure雲的全部核心產品均在其上運行。 絕不奇怪,因爲C ++不是一種內存安全的語言,所以在其代碼庫中會彈出不少內存錯誤,而且須要花費大量時間來修復它們。 去年,Microsoft開始研究能夠幫助解決其內存安全問題的替代編程語言。 做爲這些追求的結果,Microsoft已開始嘗試在某些狀況下將Rust集成到其代碼庫中。Rust是一種相對較新的編程語言,它具備與C和C ++相同的底層性能,並具備現代編程語言所指望的功能集。
微軟認爲Rust具備潛力,這就是他們將Rust集成到產品中的方式:
1. 要求一些工程師用Rust重寫Windows的某些組件。
英特爾已經開始着手將Rust與C進行功能奇偶校驗,微軟能夠加入這項工做。 因爲Rust缺乏C的某些功能,所以該團隊發現Rust最適合新的或最近開發的Windows組件。 若是Microsoft徹底致力於將其部分代碼庫遷移到Rust,也就不足爲奇了。 他們已經在爲Rust構建標準的Windows庫,該庫將具備C ++版本的全部功能。Linux也正在考慮將其某些內核遷移到Rust,所以,若是在兩個操做系統之間展開激烈的競爭,看看哪一個操做系統能夠將Rust代碼首先投入生產。
2. 將Rust整合到Azure服務中
做爲Azure孵化器之一的DeisLabs專一於爲Kubernetes構建工具,最近選擇了Rust構建他們的新產品Krustlet,該服務容許開發人員在Kubernetes中運行多個WebAssembly模塊。Kubernetes由Google開發並用Go編寫。 所以,大多數工程師在編寫其Kubernetes組件時每每會堅持使用Go,所以DeisLabs選擇Rust使人驚訝。
最後,這個決定彷佛是有回報的。 儘管員工確實注意到向Rust過渡很困難-注意到Rust的全部權理念的獨特性-團隊僅用了一個月的時間便可恢復所有效率。 他們發現他們爲空值編寫的測試更少,而且調試的問題更少。Rust的編譯器也給工程師們留下了深入的印象,他們聲稱Rust會發現Go的編譯器未能找到的另外一個項目中發現的安全漏洞。 他們得出的結論是,未來會有更多的團隊考慮使用Rust,而且與Go相比,它可能更適合Kubernetes開發。
3. 用 Rust 實現一種新的編程語言
不久前,微軟曾研究過如何在Rust的啓發下建立他們的編程語言。 該項目的負責人之一是C#的主要維護者,所以該語言彷佛是Rust的一種版本,其語法與編程語言的C系列更加類似。 這種語言稱爲Project Verona,旨在解決系統編程中與內存相關的錯誤。 有人推測,維羅納計劃最終可能會進入許多主要的Microsoft產品,例如Windows,Xbox和Azure。
最終,微軟仍然沒有針對Verona項目的用例。 他們確實聲稱該語言已經「徹底內存安全」。 可是,Microsoft仍然同意使用Rust。 它已經有了社區,並獲得了Mozilla和Intel等公司的支持。 與這些公司合做將使Rust更快地變得更強大。
Rust的將來很是光明。 在大公司的支持下,社區不斷壯大,它的發展前景十分廣闊。 在接下來的幾個月中,聽到微軟計劃將Rust歸入其公司的不一樣方式也就不足爲奇了。Rust還針對微控制器和IoT設備進行了優化,咱們能夠期待聽到這些領域的公司爲Rust找到的用例。
微軟爲Rust作了哪些貢獻?



1、微軟首次成爲 RustConf 的贊助商之一編程

今年(2020年8月20)的 RustConf 大會,Google、亞馬遜、微軟分別是 鑽石、金牌、銀牌贊助商。windows

rustconf.com/安全

2、Microsoft Azure 爲 Rust 項目的 CI 基礎設施贊助了構建器。

值得注意的是,資源消耗極大的 rust-lang/rust 倉庫正在使用它。可是 7 月份開始 大部分 Rust 的 CI 正在轉向GitHub Actions!  然而,GitHub 如今也是微軟的。微信


WinRT Rust 版究竟是不是實驗性的?


在微軟官方博客 Rust / WinRT 發佈公共預覽版 ,裏面寫道:
長期以來,Microsoft一直依靠C ++做爲咱們所作工做的基礎,可是它仍然面臨一些挑戰,尤爲是在安全性方面。 若是遵循某些謹慎的約定,現代C ++無疑會使編寫安全的C ++更加容易,可是在大型項目上一般很難執行。Rust是一種有趣的語言。 它在不少方面都與C ++很是類似,涉及到編譯,運行時模型,類型系統和肯定性終結方面的全部正確說明。 儘管它具備本身獨特的學習曲線,但它也有可能解決困擾C ++項目的一些最棘手的問題,而且它是從頭開始設計的,之內存安全性和安全併發爲核心原則。
這是一個很早的公開預覽,可是咱們決定從如今開始公開。 所以,請嘗試一下,讓咱們知道您的想法。 在繼續開發Rust / WinRT並計劃最終在crates.io上發佈時,咱們但願獲得反饋。 咱們還但願與現有的Win32和COM API提供更無縫的互操做,包括對支持c-com crate的c-crate的支持,而該c-crate如今支持COM-API。winrt-rs :github.com/microsoft/winrt-rs
你說它是「公開測試版」,也比「實驗性的工做」更說得過去吧!
 Rust / WinRT 發佈公共預覽版:https://blogs.windows.com/windowsdeveloper/2020/04/30/rust-winrt-public-preview/  

結論?


因此,微軟有沒有看上 Rust ? 你們見仁見智吧!
併發



本文分享自微信公衆號 - 覺學社(WakerGroup)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。app

相關文章
相關標籤/搜索