AWS 聘用 Rust 編譯器聯合創始人,大企為何都愛 Rust?

2020-12-08 CSDN

整理 | 夕顏

圖源 | 視覺中國

近日,AWS開源團隊在一篇帖子中低調宣布,已聘用Rust編譯器聯合創始人Felix Klock。加入AWS後,他將與於此前已經加入AWS的ust和Tokio提交者Sean McArthur(在Rust 1.0版本的「Thank-you」列表中被提名),以及著名的開發人員Lucio Franco和Jon Gjengset一起,進一步改進Rust。

此前,Felix Klock是Mozilla的研究工程師,負責Rust編譯器、運行時庫和語言設計工作,因Mozilla的一輪大規模裁員,Felix 於2020年8月離開Mozilla,10月份加入AWS。在Mozilla之前,他曾為Adobe Flash運行時的ActionScript虛擬機工作,擁有東北大學計算機科學博士學位,也是Larceny Scheme語言運行時的開發人員之一。

AWS為什麼喜歡Rust?

因為喜歡,AWS已經開始贊助Rust項目,在官方博文中,AWS雲與開源主管Matt Assay總結了這家雲計算巨頭偏愛Rust原因,以及使用這門程式語言的方式。

他說道,Rust最讓人興奮的一點是,是它讓基礎設施變得「無聊」。這不是一件壞事,畢竟沒人願意自己的設備過分「激動」,安全穩定才是他們希望看到的。因此,AWS越來越多地使用Rust構建諸如Firecracker VMM等關鍵基礎設施,因為其開箱即用的功能降低達到預期高安全性所需要的時間及精力,同時運行時性能與C和C++相比毫不遜色。

AWS使用Rust編程的產品很多,第一款使用Rust編程的產品是Firecracker,這款開源虛擬化技術產品可以用來加快AWS Lambda和AWS Fargate等服務的速度和效率。除此之外,AWS還使用Rust支持Amazon Simple Storage Service(Amazon S3),Amazon Elastic Compute Cloud(Amazon EC2),Amazon CloudFront和Amazon Route 53等服務。最近,AWS推出了Bottlerocket,這是一套使用Rust編寫而成的基於Linux的容器作業系統。Amazon EC2團隊選擇把Rust作為全新AWS Nitro System組件,包括Nitro Enclaves等敏感應用程式的語言。

為什麼選擇Rust?AWS也在博客中明確指出,是因為Rust的基本特性:性能和可靠性。

因為Rust不需要運行時或垃圾收集器,所以它能夠實現類似於C和C ++的運行時性能。同時,Rust使用嚴格的類型系統和所有權模型來實現內存和並發安全性的編譯時驗證,從而使測試和驗證Rust實現的成本大大低於C / C ++。

Rust和Tokio使AWS編寫的服務能夠快速、可靠地響應,提供更好的客戶體驗。——AWS首席工程師 Carl Lerche

但Rust的優秀不僅在於代碼。

Rust的確專注於為人們提供更好的體驗。「因此,它吸引了很多此前未使用過Rust進行系統編程的人,包括我自己。——AWS的軟體工程師 David Barsky

Rust 項目維護人員對Rust也很滿意:

性能。Rust 的速度和內存效率高得誇張:無需運行時或垃圾收集器,它就能夠支持性能關鍵服務,在嵌入式設備上運行,並輕鬆地與其他語言集成。可靠性。Rust 的富類型系統和所有權模型可保證內存安全和線程安全 — 並使您在編譯時杜絕任何種類的漏洞。生產率。Rust 具有出色的文檔、提供各種有用的錯誤消息且易用的編譯器以及頂尖的工具 — 集成包管理器和構建工具、具有自動完成和類型檢查功能的智能多編輯器支持、自動格式化程序以及其他。憑藉其包容性社區以及與下面類似的頂尖庫:

Serde,用於數據的序列化和反序列化。Rayon,用於編寫並行和無數據競爭的代碼。Tokio/async-std,用於編寫無阻塞的低延遲網絡服務。tracing,用於檢測 Rust 程序以收集基於事件的結構化診斷信息AWS表示,Rust的創建和輝煌的過去他們沒有參與,但未來希望可以更多地為Rust的發展做貢獻,包括進一步加強Rust社區,通過對Rust和Tokio(用於使用Rust編寫異步應用程式的運行時)做代碼貢獻,以及與超過5500個Rust貢獻者合作共同構建Rust社區,等等。

最受開發者喜愛語言,被巨頭青睞

因為快速、可靠、代碼效率高,Rust吸引了越來越多的用戶群。Rust 是由 Mozilla 開發人員 Graydon Hoare 在 2006 年開發的個人項目,從那個時候起,就像它所命名的 Rust 真菌一樣,開始傳播,如今已被廣泛應用於構建網絡、嵌入式計算機、分布式服務和命令行。

根據超過65,000名開發人員的調查反饋,Rust已連續五年位居Stack Overflow的「最受喜愛」程式語言榜首。

(來源:Stack Overflow)

同時,在Redmonk的程式語言排名中,Rust躋身前20名,鑑於Java,C,JavaScript等語言的地位,這個成就很了不起。

2019年初,已經有數百家公司在軟體生產中使用Rust,例如 Dropbox、Yelp 和Cloudflare等,今年這個數字更大。

Rust也同樣被很多科技巨頭青睞,比如Google、微軟、蘋果和Mozilla等。

Google的第三款作業系統——Fuchsia當初的備選語言,Rust就是其中的熱門候選之一。雖然後來Google宣布Dart當選,但Rust的優點也被更多人看到,比如內存安全保證,降低了使用該語言開發的軟體存在安全漏洞的風險,可以使用線性流程的代碼編寫異步程序等。Rust落選的原因其實有點委屈,Google之所以沒有用它,是因為它最大的缺點是這種語言太新,尚未廣泛使用,並且其獨特的特性尚未經過充分的實踐檢驗,但是由於Rust的性能比Go高,需要的資源更少,因此Google認為它仍有可能被認可。

2019年,微軟安全響應中心(MSRC)發文宣布,這家公司正在探索更安全的系統程式語言,使用Rust程式語言作為C、C++和其他語言的替代方案,以此來改善應用程式的安全狀況,這件事當時還引起了關於Rust的一波熱議。此後,微軟又陸續推出一些基於 Rust 的項目,比如開源的 Windows 運行時項目 Rust/WinRT。

Mozilla更不用說了,Rust就是這家公司主導開發,Mozilla將這門語言用於Firefox 的組件開發,包括核心引擎 Servo/Project Quantum。在今年8月份,Mozilla進行了本年度的第二輪大裁員,裁員約 250 人,Felix Klock不幸就是其中一個。好在Rust項目沒有危險,Rust發布公告稱這個項目不會受太大影響。

此外,新的伺服器端JavaScript運行時,被視為Node.js的潛在繼任者——Deno,也是採用Rust編寫,並為TypeScript(Microsoft對大型JavaScript項目的擴展)提供優先級的支持,這是由微軟維護和管理的JavaScript大規模項目拓展。

在一篇官方博客中,Rust還總結了自2015年以來Rust經歷的裡程碑式進步,感興趣的小夥伴可查看原文:https://blog.rust-lang.org/2020/05/15/five-years-of-rust.html

正如Rust 程式語言核心團隊的 Carol Nichols所說,Rust更像是Ruby、Haskell 和 Scala 的混合,它既具有功能性,如閉包和迭代器,又擁有類似於 Haskell 的豐富類型系統,低開銷的特點又讓它非常適合低功耗的嵌入式系統軟體,同時是構建 Web 應用程式的一個不錯的選擇。但它的缺點也不容忽視,如與C語言自由哲學截然相反的束縛感,不能給予programmer充足的自由,並引入了複雜的規則,以及對於程式語言新手來說並不簡單的設計,等等,都是限制Rust領域相對小眾的原因。

你對Rust還有哪些期待?歡迎留言區告訴我們~

參考連結:

https://www.theregister.com/2020/11/27/aws_hires_rust_compiler_team/

https://aws.amazon.com/cn/blogs/opensource/why-aws-loves-rust-and-how-wed-like-to-help/

https://aws.amazon.com/cn/blogs/opensource/aws-sponsorship-of-the-rust-project/

https://www.zdnet.com/article/programming-language-rust-5-years-on-from-v1-0-heres-the-good-and-the-bad-news/

相關焦點

  • Rust 1.0發布半年後社區湧現的項目集錦
    第一次聚會時,Rust 1.0剛發布,一切都是嶄新的。那麼,現在,Rust及Rust社區發展到什麼樣的情況了呢? Rust編譯器自身的版本號已經迭代到了1.4,nightly已經到了1.6;半年來,Rust社區也湧現了很多有趣的項目,比較注目的有如下一些: 1.
  • Rust中的裸指針
    其他指針內部基本都用到了裸指針來實現,因此學好Rust, 需要對裸指針有一定的了解。本篇文章將包含以下內容1. 裸指針的創建,讀寫,銷毀2. 標準庫對裸指針提供的常用方法1.("z = {}", z); //值為 100// 由引用得到的裸指針,不需要自己管理內存,其指針還是由引用的rust對象管理1.2 由Box轉換的裸指針#[derive(Debug)]struct M { id: String}impl Drop for M {
  • 都說Rust程式語言難學,那我們Ubuntu系統裡安裝下試試
    安全、性能、並發等特性的優勢,讓使用過的開發者都讚不絕口,眾口一詞給出肯定的態度。不過與之相應的是,Rust程式語言的學習難度。這個廣受好評的程式語言,其學習門檻之高也廣受大家「詬病」。的確,即便是比較資深的程式設計師,上手Rust都有一定的難度。何況廣大普通程式設計師甚至新手?學習門檻高無疑是一個攔路虎。
  • 2020 Rust Web框架大比拼
    比如:如果需要將Prometheus的指標添加到的API中,則可以使用actix-web-prom或rocket-prometheus在幾分鐘之內手動搞定,兩者都有數千次下載量。如果你選擇warp或tide框架,則這些工作都需要自己開始編寫和集成;如果要添加分布式跟蹤,則可以使用actix-web-opentelemetry。如果選擇任何其他框架,則需要自己手動實現。
  • Rust 1.44.0 發布 允許用戶指定crate-version
    同時,Rustdoc 現在可允許用戶指定 「–crate-version」,以使 rustdoc 在 sidebar 中包含版本。了解有關此發行版中所有更改的更多信息,可閱讀發行說明。  此外,Rust Core 團隊還在博客內容中指出,「這是一篇比往常短的博客文章:承認反對美國和全世界目前發生的警察暴行比分享技術知識更重要,因此我們決定大幅縮減針對此版本的促銷活動。
  • Rust Search Extension 0.9 發布!支持搜索任意第三方 crate 的...
    cargo clippy給出的lint建議都非常棒,不過詳細的建議還是需要到clippy的官方文檔頁查看,不太方便的是需要自己打開文檔搜索對應的lint名字。現在你可以直接在地址欄輸入 >(大於符號)加lint名,即可快速定位到該lint的文檔!
  • Rust 語言風靡學術界
    文|大東BE AWS 將 Rust 編譯器團隊負責人收入麾下的新聞讓開發者們再次聚焦於這門兼具安全性與高性能的程式語言。近日,著名科學期刊 Nature 刊登了一篇文章,表明 Rust 語言也正在成為學術界最受歡迎的程式語言之一。
  • Rust能取代C語言嗎?
    Rust的設計者們通過在研發Servo網站瀏覽器布局引擎過程中積累的經驗優化了Rust語言和Rust編譯器。Rust已經連續三年(2016,2017,2018)在Stack Overflow開發者調查的「最受喜愛程式語言」評選項目中摘取桂冠。
  • Linux內核討論引入Rust,Rust語言替代C/C++會讓我們轉變學習方向
    畢竟內核是作業系統之核心,一舉一動都要謹慎緩慢和深思熟慮,而Rust編譯器的頻繁更新很難讓人不擔心某些問題。雖然目前,Rust滲入Linux內核的討論並沒有明確結果,不過Rust的強大已經有目共睹,前景也被很多業內人士看好。Rust依然需要一步一個腳印地推進。對於現在和未來這個人工智慧大數據時代,安全高並發會成為越來越重要的需求。
  • 兄弟二人聯合創業,AI編譯器開始的AI「芯」歷程
    圖示:譯芯科技創始人海山和海明兄弟二人聯手踏上創業之路早在 2006 年開源微處理器還未被行業所了解和接納的時候,二人便開始利用業餘時間合力打造 5 級流水線的 RISC 處理器 Potato-I 及配套的 GCC 編譯器,最終以參賽的形式將處理器代碼提交到
  • 實例教程,用python實現字節碼編譯器和解釋器
    我們都知道編譯源碼需要詞法分析、語法分析、語義分析與中間代碼產生、優化和目標代碼生成等五個過程。對於一個語言來說,有兩個最重要功能,編譯器和解釋器。實現由原始碼到字節碼的轉化,然後才能執行。本文中蟲蟲以CPython 3.6位元組碼為實例,實現一個我們自己的字節碼編譯器和解釋器,以此來熟悉基本的編譯器工作原理(),當然如果想深入理論學習,建議大家去學習了《編譯原理》這本教材。
  • Python 動態編譯器PyPy比其他動態編譯器的優點所在
    Python 動態編譯器PyPy比其他動態編譯器的優點所在 PyPy是Python 語言的動態編譯器,在實際的應用中它要比C實現的Python的實際操作步驟更為簡捷,以下是文章的相關內容的描述。
  • 編譯器大神Chris Lattner離開谷歌
    對於30+的程式設計師而言,Lattner絕不是一個陌生的名字,他的冠名頭銜可不短——是蘋果Swift程式語言之父兼主要作者,也是LLVM編譯器堆棧和子項目(例如Clang C / C ++編譯器前端)的創始人,還是Clang 主要貢獻者。與此同時,Lattner的職業履歷也相當豐富。
  • 曾為Hulu聯合創始人
    1905電影網訊近日,據外媒報導,視頻網站Hulu的前CEO、聯合創始人詹森·基拉爾(Jason Kilar)已籤約成為華納媒體集團的執行長,監管HBO、華納兄弟的有線電視網絡。詹森·基拉爾將於5月1日就任,除了Hulu,他還曾在Amazon、Vessel等公司工作,基拉爾之所以被聘用,部分原因可能是因為他在流媒體工作方面經驗豐富,媒體預測他可能會成為HBO Max的最佳領導者。
  • 擼羊毛之三:無成本體驗AWS(亞馬遜雲)的姿勢
    再次說明一下,擼AWS亞馬遜雲,也可以提供個人和信用卡信息給aws,可以一年內免費使用額度內的資源,當然,這裡存在個人和信用卡信息洩露、超過額度被扣款等問題,我這裡提供的手段,only一個郵箱地址就行。簡單來說,就是懶豬耍goorm,意在aws雲。     以下的內容都是技術強相關,不感興趣的可以直接關閉了。
  • 都有Python 了,還要什麼編譯器!
    編譯的目的是將源碼轉化為機器可識別的可執行程序,在早期,每次編譯都需要重新構建所有東西,後來人們意識到可以讓編譯器自動完成一些工作,從而提升編譯效率。但「編譯器不過是用於代碼生成的軟機器,你可以使用你想要的任何語言來生成代碼」,真的是必要的嗎?
  • 國外主播rust遊戲實況(一)ONLINE ECO-RAIDING WITH JACKHAMMERS - RUST
    上周推文機器翻譯:(內容大家都看過了,直接機器翻譯一下給大家鋪過來,方便查詢需要)車輛故障修復發射場的大溝在地面以下,一個看不見的觸發器在地形的對撞機上形成了一個洞。不幸的是,有輪子的車輛(小型直升機,報廢直升機)沒有收到備忘錄,而是降落在看不見的地面上。我聽說球員有時只是走路就會遇到同樣的問題,我懷疑這是因為扳機在地面水平上是正確的。