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

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

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

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















 
 
 








 
 
 
 