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


当谷歌设计 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文档