要成為 C++ 的繼任者?Google 開源新編程語言 Carbon
Carbon 是 Google 內(nèi)部構(gòu)建的最新編程語言,近日已作為 C++ 的實驗性繼任者亮相。
這么多年來,Google 創(chuàng)造了一些編程語言,其中一些語言比其他語言更受歡迎和有特色。例如,Golang(或簡稱 Go)是為了改進服務(wù)器和分布式系統(tǒng)的開發(fā)而創(chuàng)建的,并已被公眾采用。與此同時,最初旨在替代 JavaScript 的 Dart 編程語言直到 Flutter 發(fā)布才成為主流。

本月19 日,在多倫多舉行的 Cpp North 大會上,出席會議的 Conor Hoekstra 分享了 Google 員工 Chandler Carruth 對名為 Carbon 的新編程語言的愿景。為了設(shè)置場景,Carruth
展示了當今最流行的編程語言中有多少有后繼者,可以讓開發(fā)人員快速提高生產(chǎn)力并利用現(xiàn)代語言設(shè)計。Android開發(fā)者都知道 Kotlin 是 Java 的繼承者,就像 iOS 開發(fā)者都知道 Swift 是 Objective-C 的繼承者一樣。來自微軟的 TypeScript 對 JavaScript 進行了徹底的增強,同時仍然能夠舒適地使用并“編譯”回 JavaScript。C++ 在 Google 中得到了大量使用,它同樣是原始 C 編程語言的繼承者。

雖然有些人可能會認為 Rust 是 C++ 的繼承者,它最初是一個 Mozilla 的項目,后來發(fā)展成為一個擁有大量公眾追隨者的項目,但 Carruth 懷疑是否還有類似的情況。不可否認的是,Rust 是一個很好的啟動新項目的語言,但它不像 Java 和 Kotlin 那樣具有“雙向互操作性”,這使得穩(wěn)定的遷移變得困難。
如果 Rust 今天對你有用,你應(yīng)該使用它。但是將 C++ 生態(tài)系統(tǒng)遷移到 Rust 是困難的。
為此,雖然 Carbon 與 Rust 有許多相同的目標,例如幫助開發(fā)人員創(chuàng)建“對性能至關(guān)重要的軟件”,但 Carbon 還旨在與現(xiàn)有的 C++ 代碼完全互操作。此外,如果需要,目標是盡可能輕松地從 C++ 遷移到 Carbon。至于為什么 C++ 開發(fā)人員可能要考慮將 Carbon 引入他們的代碼庫,Carruth 分享了該語言的許多亮點。
- Introducer 關(guān)鍵字和簡單語法
- 函數(shù)輸入?yún)?shù)為只讀值
- 指針提供間接訪問和變體
- 使用表達式來命名類型
- 軟件包為 root 命名空間
- 通過包導(dǎo)入 API
- 用顯式對象參數(shù)進行方法聲明
- 單繼承;默認使用最終類
- 強大的、經(jīng)過定義檢查的泛型
- 類型可顯式實現(xiàn)接口
除了語言本身的特性之外,Carbon 團隊還關(guān)注將塑造 Carbon 未來的開發(fā)過程。該項目的代碼在 GitHub 上公開托管,并且對拉取請求開放,而 Carbon 的文化被概述為對公司員工和個人等的員工來說都是開放和包容的。
也就是說,Carbon 編程語言的一個方面沒有特別清楚地概述是 Google 的參與。雖然今天的演示文稿是由 Google 員工分享的,并且 Carbon 目前的項目負責(zé)人主要(但不完全)由 Google 員工組成,除此之外沒有提到 Carbon 是 Google 項目。
這實際上是有意為之的,因為雖然 Carbon 在 Google 內(nèi)部起步,但該團隊理解并在網(wǎng)上分享說,即為了在未來取得任何成功,Carbon 需要成為“一個獨立的、由社區(qū)驅(qū)動的項目”,而不僅僅是由 Google 自己的用途驅(qū)動。在同一評論中,Carruth 進一步強調(diào) Carbon 目前只是一項實驗,盡管一些公司已經(jīng)表現(xiàn)出早期的興趣。

如果你有興趣開始使用Carbon,可以下載源代碼并在自己的設(shè)備上進行實驗。或者,由于與免費的 Compiler Explorer Web 應(yīng)用程序集成,您可以直接在瀏覽器中體驗 Carbon 編程語言。


























