、C++、Rust 和 Hack 被 Meta 指定為首選語言,每種語言有特定應用場景。
當地時間 7 月 27 日,據 The 報道,Meta 宣布將 Hack、、C++ 和 Rust 作為員工和開發人員在其平臺上構建軟件的首選語言。
Meta 向 The 表示,在眾多編程語言中,決定使用哪種語言作為首選工作語言并不是件容易事。
Meta 稱,“重要的是,我們采用的每種語言都有最適合的特定應用場景,所以我們會非常嚴格地評估每一種編程語言。” “一旦做好了選擇哪種語言的決定,我們會將這個決定堅持下去,因此我們希望從一開始就深思熟慮,為我們的工程師提供最好的工具。”
在 Meta 公司,一旦做出決定選擇了某種語言,那這種語言就是能在代碼編輯、調試、構建、核心庫和互操作性方面為內部和外部開發人員提供良好體驗的編程語言。此外,公司還保證稱,使用公司批準的語言編寫代碼的人,將不會被要求將代碼轉換為不同的語言。
每種語言都有特定的應用場景
是目前最流行的編程語言之一,也得到了廣泛的認可。Meta 推薦 用于數據科學、ML 應用程序和 相關代碼。
另一種被廣泛使用的通用編程語言 C++ ,被應用在了 Meta 的后端服務中。
在最受歡迎的四種語言中,Rust 是一種深受喜愛的系統語言,它起源于 ,現在由 Rust 基金會監督。
Rust 也被用于專注于性能的后端服務和 CLI 工具中。“我們的產品和服務中正在更多地使用 Rust,我們致力于長期使用 Rust 并歡迎早期采用者,”該公司說道。
正如所料,Meta 已將自己開發、開源的 Hack 指定為首選編程語言。Hack 是一種類型安全的 PHP 變體,它依賴于 虛擬機 (HHVM),是 大部分的基礎。Meta 推薦將 Hack 用于業務邏輯和相對無狀態的應用程序。
Hack 項目地址:/
和 C++ 的受歡迎程度無需多言了,Meta 使用自研 Hack 語言也是情理之中。那么,Meta 又是如何引入并使用 Rust 的?
Rust 在 的使用及發展2016~2017 年:早期用于源代碼控制
在引入 Rust 編程語言之時, 還不叫 Meta。
最古老的 Rust 代碼庫可以追溯到 2016 年。當時, 單體倉庫中的源代碼變化率開始“侵占” 源代碼控制管理工具所能跟上的最大提交率。對此, 的源代碼控制團隊發起了一項名為 的重寫項目,旨在將 的提交率再提高一些數量級,從而滿足 成千上萬的開發者和自動化流程。
起初,使用 C++ 開發 顯然是個選擇。在那時, 的后端代碼庫對 C++ 非常重視,這意味著 默認會使用 C++ 實現。但是,源代碼控制團隊需要考慮源代碼控制管理后端的可靠性需求,如果服務因停機或損壞而造成停頓時,那么可靠性就成了首要的考慮因素。因此陳家明 c語言編程軟件,團隊選擇使用 Rust 代替了 C++。
是一款優秀的測試平臺,因為它和其他 系統有著天然的隔閡。如果 能夠使用 協議與客戶端服務進行對話,并使用 協議與某些存儲系統進行通信,那么選擇 Rust 不會影響源代碼控制團隊工作之外的任何事情。
源代碼控制團隊愿意采用并且能夠支持他們自己使用任何 Rust 特定的工具和基礎設施。從 2019 年開始, 就已經成為我們單體倉庫的生產后端,并在過去幾年里成功地擴大了規模。
2017~2019 年:采用曲線
足以證明采用 Rust 是可行的,隨著時間的推移,其他項目也開始考慮和采用 Rust。一開始,這些項目通常是開發者的工具項目,它們不需要與更廣泛的服務基礎設施進行集成,也不需要小型服務 / 守護進程,只需圍繞一些 C++ 客戶端庫使用幾個手寫的包裝器就能完成工作。
在 的 Rust 工程師中,有許多人具有 和 的背景,他們很欣賞 Rust 結合了高性能與編譯時錯誤檢測這一特性。隨著越來越多的成功案例(例如性能提升了 2 到 4 個數量級等)在公司內部流傳,人們對使用 Rust 實現后端服務代碼,以及探索其在移動應用程序中的應用的興趣越來越濃。
2019~2020 年:Rust 得到了一些專門支持
2017 年到 2019 年,源代碼控制團隊成為 內的非官方 Rust 支持團隊。到了 2019 年, 的 Rust 開發者數量成倍增長,達到 100 多人。
增長背后的原因之一是,Rust 是開發 Diem(原 Libra)區塊鏈的主要語言,由獨立的 Diem 協會監督,而 的數字錢包 Novi 就是 Diem 協會的成員。Diem 區塊鏈主要是由 Rust 編寫的,并涵蓋了 94% 的開源代碼庫。
考慮到需求的增加,源代碼控制團隊的兼職協助并不足以支持受益的團隊數量。因此, 創建了一個小型的 Rust 開發者體驗團隊,該團隊致力于解決工具和集成方面的挑戰,比如在生產非 cargo 構建中使用語言的開源包注冊表生態系統的機制。該團隊為整個公司的 Rust 開發者建立了一個中央連接點以解鎖用例,優先考慮短期的開發者體驗問題,改進核心庫,并在剛剛起步的 Rust 代碼庫通過百萬行大關時為其成功奠定基礎。
盡管 Rust 以難學著稱,但在過去幾年中陳家明 c語言編程軟件,得益于內存安全特性,Rust 還是贏得諸多青睞。它已經被微軟、谷歌和 Linux 內核開發人員采用,更不用說蘋果、亞馬遜和 。
自研編程語言
Move 的消失
除了上述提到的四種編程語言外,其他的一些編程語言如 Java、、 和 Go,則被認可用于特定用例,但在這些情況之外不被采用。
在加密貨幣大火的 2020 年, 還曾推出了一款自研 Move 語言,旨在為 Libra 區塊鏈奠定安全和可編程的基礎。
Libra(前稱為: 或 Coin)是一種由 公司(今 Meta 公司)提出的加密貨幣,原計劃于 2020 年發行,但因許多爭議而暫停發行。
Move 是一種安全靈活的 Libra 區塊鏈編程語言,它是一種可執行的字節碼語言,用于實現自定義交易和智能合約。
但隨著扎克伯格“穩定幣”夢碎,Move 也逐漸退出人們的視野。