要成為 C++ 的繼任者?Google 開源新編程語言 Carbon
Carbon 是 Google 內(nèi)部構(gòu)建的最新編程語言,近日已作為 C++ 的實(shí)驗(yàn)性繼任者亮相。
這么多年來,Google 創(chuàng)造了一些編程語言,其中一些語言比其他語言更受歡迎和有特色。例如,Golang(或簡稱 Go)是為了改進(jìn)服務(wù)器和分布式系統(tǒng)的開發(fā)而創(chuàng)建的,并已被公眾采用。與此同時(shí),最初旨在替代 JavaScript 的 Dart 編程語言直到 Flutter 發(fā)布才成為主流。
本月19 日,在多倫多舉行的 Cpp North 大會(huì)上,出席會(huì)議的 Conor Hoekstra 分享了 Google 員工 Chandler Carruth 對名為 Carbon 的新編程語言的愿景。為了設(shè)置場景,Carruth
展示了當(dāng)今最流行的編程語言中有多少有后繼者,可以讓開發(fā)人員快速提高生產(chǎn)力并利用現(xiàn)代語言設(shè)計(jì)。Android開發(fā)者都知道 Kotlin 是 Java 的繼承者,就像 iOS 開發(fā)者都知道 Swift 是 Objective-C 的繼承者一樣。來自微軟的 TypeScript 對 JavaScript 進(jìn)行了徹底的增強(qiáng),同時(shí)仍然能夠舒適地使用并“編譯”回 JavaScript。C++ 在 Google 中得到了大量使用,它同樣是原始 C 編程語言的繼承者。
雖然有些人可能會(huì)認(rèn)為 Rust 是 C++ 的繼承者,它最初是一個(gè) Mozilla 的項(xiàng)目,后來發(fā)展成為一個(gè)擁有大量公眾追隨者的項(xiàng)目,但 Carruth 懷疑是否還有類似的情況。不可否認(rèn)的是,Rust 是一個(gè)很好的啟動(dòng)新項(xiàng)目的語言,但它不像 Java 和 Kotlin 那樣具有“雙向互操作性”,這使得穩(wěn)定的遷移變得困難。
如果 Rust 今天對你有用,你應(yīng)該使用它。但是將 C++ 生態(tài)系統(tǒng)遷移到 Rust 是困難的。
為此,雖然 Carbon 與 Rust 有許多相同的目標(biāo),例如幫助開發(fā)人員創(chuàng)建“對性能至關(guān)重要的軟件”,但 Carbon 還旨在與現(xiàn)有的 C++ 代碼完全互操作。此外,如果需要,目標(biāo)是盡可能輕松地從 C++ 遷移到 Carbon。至于為什么 C++ 開發(fā)人員可能要考慮將 Carbon 引入他們的代碼庫,Carruth 分享了該語言的許多亮點(diǎn)。
- Introducer 關(guān)鍵字和簡單語法
- 函數(shù)輸入?yún)?shù)為只讀值
- 指針提供間接訪問和變體
- 使用表達(dá)式來命名類型
- 軟件包為 root 命名空間
- 通過包導(dǎo)入 API
- 用顯式對象參數(shù)進(jìn)行方法聲明
- 單繼承;默認(rèn)使用最終類
- 強(qiáng)大的、經(jīng)過定義檢查的泛型
- 類型可顯式實(shí)現(xiàn)接口
除了語言本身的特性之外,Carbon 團(tuán)隊(duì)還關(guān)注將塑造 Carbon 未來的開發(fā)過程。該項(xiàng)目的代碼在 GitHub 上公開托管,并且對拉取請求開放,而 Carbon 的文化被概述為對公司員工和個(gè)人等的員工來說都是開放和包容的。
也就是說,Carbon 編程語言的一個(gè)方面沒有特別清楚地概述是 Google 的參與。雖然今天的演示文稿是由 Google 員工分享的,并且 Carbon 目前的項(xiàng)目負(fù)責(zé)人主要(但不完全)由 Google 員工組成,除此之外沒有提到 Carbon 是 Google 項(xiàng)目。
這實(shí)際上是有意為之的,因?yàn)殡m然 Carbon 在 Google 內(nèi)部起步,但該團(tuán)隊(duì)理解并在網(wǎng)上分享說,即為了在未來取得任何成功,Carbon 需要成為“一個(gè)獨(dú)立的、由社區(qū)驅(qū)動(dòng)的項(xiàng)目”,而不僅僅是由 Google 自己的用途驅(qū)動(dòng)。在同一評論中,Carruth 進(jìn)一步強(qiáng)調(diào) Carbon 目前只是一項(xiàng)實(shí)驗(yàn),盡管一些公司已經(jīng)表現(xiàn)出早期的興趣。
如果你有興趣開始使用Carbon,可以下載源代碼并在自己的設(shè)備上進(jìn)行實(shí)驗(yàn)。或者,由于與免費(fèi)的 Compiler Explorer Web 應(yīng)用程序集成,您可以直接在瀏覽器中體驗(yàn) Carbon 編程語言。