谷歌新推出的Carbon語言能直接取代C++?

banq發表於2022-07-22

當谷歌設計 golang 時,主要動機之一是作者對 C++ 的不滿。
現在谷歌正在釋出 carbon,它明確是 C++ 的替代品。
 rust 是 golang 的競爭對手,也是 C++ 的替代品。

Go 並不是作為谷歌戰略的一部分推出的。大多數作者為谷歌工作的事實幾乎是巧合。
至於 Carbon,它是C++ 的直接替代品,而不是像 Go 或 Rust 這樣的間接替代品。這是一個巨大的差異。

Carbon 不是一種語言,它是 C++ 的超集,因此它可以很好地與與 js/typescript 或 java/kotlin 相同的 C++ 程式碼庫整合,因此它實際上是 C++ 的超集。

Rust 不是 C++ 的替代品,它只是解決低階語言中存在的問題並擴充套件生態系統。
Golang 不是 C++ 的替代品,它們甚至無法以相同的方式進行分類,Golang 專注於解決學習曲線、微服務和執行緒管理的等功利市場。

如果你是一個 C++ 程式設計師,例如嫉妒 Rust 的安全特性,但因為你被生態系統鎖定而無法切換,那麼你就有機會使用“甚至更好的 C++”,而無需離開生態系統。
如果 Carbon 製作精良,它可以成為一種非常成功的語言。甚至可能是 Rust 殺手。

“替代 C++”在很大程度上取決於你如何使用 C++、你的個人偏好是什麼以及你認為最好的方法是從 C++ 過渡。
  • Go 強調編譯時間和記憶體安全,因為這些是設計師最不喜歡 C++ 的地方;
  • 而 Carbon (AIUI) 旨在強調 API 和 ABI 相容性,以便更容易地逐步替換 C++ 專案的部分內容.。

Go 專為 Google 將 C++ 用於(後端伺服器)的特定用例而設計,而 Carbon 旨在針對所有C++ 用例。

Go 目標成為 C++ 的改進替代品;Carbon 專為無法遷移到 Go 等語言的專案而設計。
“現有的現代語言已經提供了出色的開發人員體驗:Go、Swift、Kotlin、Rust 等等。可以使用其中一種現有語言的開發人員應該. 不幸的是,這些語言的設計對 C++ 的採用和遷移存在重大障礙。” - Carbon文件
 

相關文章