谷歌开源替代 C++ 的编程语言:Carbon

来源: OSCHINA
编辑:
2022-07-20 17:47:00

谷歌工程师 Chandler Carruth 近日在多伦多举办的 CppNorth 大会上宣布,正式开源谷歌内部打造的编程语言:Carbon,并称 Carbon 是 C++ 的继任者(目前处于实验性阶段)。

Chandler 列举了当今流行编程语言演进的一些例子,比如:Java 到 Kotlin、Objective-C 到 Swift、JavaScript 到 TypeScript。在谷歌内部被广泛使用的 C++,在某种程度上也被视作为 C 语言的继任者。他认为这些继任者能帮助开发者快速提高生产力,并利用现代语言特性。

Chandler 还提到了 Rust,虽然它最初也标榜是 C++ 的继任者,但这两者的关系不像 Java 和 Kotlin 那样具有“双向互操作性”,因此很难稳定地迁移。至于 Carbon,它与 Rust 有许多相同的目标,并且支持与现有的 C++ 代码完全互操作,目标是让开发者尽可能轻松地从 C++ 迁移到 Carbon。

Carbon 亮点:

  • Introducer 关键字和简单语法
  • 函数输入参数为只读值
  • 指针提供间接访问和变体
  • 使用表达式来命名类型
  • 软件包为 root 命名空间
  • 通过包名导入 API
  • 用显式对象参数进行方法声明
  • 单继承、默认使用最终类
  • 强大且经过定义检查的泛型
  • 类型可显式实现接口

C++ 代码和 Carbon 代码对比:

目前 Carbon 语言的代码已完全开源。Chandler 表示,虽然 Carbon 诞生自谷歌内部,且目前的项目负责人主要(不完全)由谷歌员工组成,但它的目标是要成为一个“独立且由社区驱动的开源项目”。

如果你对 Carbon 感兴趣,可以下载源代码并在自己的设备上进行试验,或者通过 Compiler Explorer 直接在浏览器中体验 Carbon 编程语言。


对于 Carbon 项目,有开发者透露了一些背景信息:2020 年 2 月,C++ 标准委员会就“破坏 ABI 兼容性以保证性能”提案进行了投票,这项工作主要由谷歌员工推动,但最终投票没有通过。因此,许多谷歌员工已经停止参与 C++ 的标准化工作,并辞去他们在委员会中的正式职务,clang 的开发工作也大大放缓。基于这些背景,再结合谷歌对 Carbon 设定的目标,这名开发者认为,谷歌确实希望把 Carbon 打造成替代 C++ 的语言。

展开阅读全文
精彩评论
不要看他说的天花乱坠光面堂皇的,GG是所有大厂中最虚伪最伪君子的企业。
他只不过想弄一个自己能控制的 c++ 语言而已,Go不就是GG的 C# ?
2022-07-20 19:24
42
举报
谷歌的人都和尖括号有仇是吧?Golang也是,这玩意儿也是!
2022-07-20 17:56
26
举报
看这写法就不感兴趣了
2022-07-20 17:57
22
举报
微软比谷歌好太多了,C#稳扎稳打,谷歌主要是这几年太流氓了,风评被害
2022-07-21 00:11
21
举报
如果可以使用 Rust,请忽略 Carbon
如果你想使用 Rust,并且它对你的项目在技术上和经济上都是可行的,那么你应该使用 Rust。事实上,如果你可以使用 Rust 或任何其他成熟的编程语言,你应该这样做。Carbon 适用于严重依赖 C++ 的组织和项目;例如,具有大量 C++ 代码或使用许多第三方 C++ 库的项目。

我们相信 Rust 是在纯 Rust 生态系统中编写软件的绝佳选择。用 Rust 编写的软件具有 C++ 和 Carbon 都没有的属性。当你需要从 Rust 调用其他语言时,RPC 是一个不错的选择。当维护 FFI 边界的成本合理时,Rust 也适用于在进程中使用以不同语言实现的 API。
2022-07-20 19:59
18
举报
14 收藏
分享
117 评论
14 收藏
分享
返回顶部
顶部