幾天前 谷歌員工透露 誰正在開發一種新的編程語言,稱為 “煤炭”, 這 被定位為 C++ 的實驗替代品,擴展這種語言並消除現有的缺陷。
根據 Carruth 的介紹,開發該語言是為了能夠創建性能至關重要的軟件。 他們還希望允許開發人員通過使用 Carbon 來利用現代編程語言設計。
與 C++ 相比,作為 Carbon 的亮點突出顯示的一些事情是,例如, 更簡單的語法和 API 導入. 根據 Carruth 的說法,這種新的實驗性語言應該與 C++ 雙向互操作,這意味著項目應該能夠輕鬆地從一種語言遷移到另一種語言。
此外,目標是在 Internet 上以開放的方式進一步開發該語言,任何人都可以貢獻源代碼。 該項目在 Github 上公開 並開放 拉取請求。
該語言支持基本的 C++ 可移植性,可以與現有的 C++ 代碼集成,並提供工具,通過自動將 C++ 庫轉換為 Carbon 代碼來簡化現有項目的遷移。
例如,您可以在 Carbon 中重寫某個庫並在現有的 C++ 項目中使用它。 Carbon 編譯器是使用 LLVM 和 Clang 構建編寫的。
碳的主要特性,以下突出:
- 生成的代碼的性能與 C++ 相當,同時保持訪問低級地址和位級數據的能力。
- 與現有 C++ 代碼的可移植性,包括類繼承和模板。
- 快速編譯並能夠與現有的 C++ 構建系統集成。
- 簡化不同版本的 Carbon 之間的遷移。
- 提供內存安全工具,可防止因在內存區域被釋放後尋址、取消引用空指針和緩衝區溢出而導致的漏洞。
當然,我們建議將 Rust 作為 C 和 C++ 的替代方案,但這並不是真正的擴展語言,它更像是一種成熟的語言,讓我們重新開始。 Carbon 試圖像 Rust 一樣,同時仍然與 C++ 世界兼容, 好吧,在它的 Github 頁面上它說:
- 使用 LLVM 進行 C++ 性能匹配,對位和地址進行低級訪問
- 與現有的 C++ 代碼互操作,從繼承到模板
- 可與現有 C++ 構建系統配合使用的快速、可擴展構建
Carbon 被認為是必要的,因為 C++ 的增量改進根本不可能,因為它根本無法擺脫歷史包袱。 就個人而言,我會更進一步,並建議 C++ 中的增量“改進”是它在實踐中如此龐大的語言的部分原因。
“總是有新的語言試圖成為 C++ 的繼任者。 我歡迎對編程語言和編程風格進行實驗,但我真的不想挑起爭議。 批評已建立的語言很容易(我們知道它們的問題),但通常很難提供替代方案而不在語言規則、庫和治理方面產生全新的問題。 Carbon 是如此的新且未明確說明,以至於我真的無法做出任何有意義的技術評論,”C++ 發明者 Bjarne Stroustrup 在一封電子郵件中說。
雖然 Carbon 最初是谷歌的一個內部項目,但開發團隊最終希望在年底前將谷歌或任何其他個人公司的貢獻減少到 50% 以下。 最終,他們希望將項目交給一個獨立的軟件基金會,由志願者進行開發。
終於 如果您有興趣了解更多信息 您應該知道該項目的開發是在 Apache 2.0 許可下分發的,您可以諮詢他們 在下面的鏈接中。