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


谷歌工程师 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++ 的语言。


相關推薦

2022-07-27

多举办的 CppNorth 大会上宣布,正式开源谷歌内部打造的编程语言 Carbon,并号称 Carbon 是 C++ 的继任者(目前处于实验性阶段)。此举不可避免的在 C++ 社区中引发了很多讨论,同时也引来了 C++ 之父 Bjarne Stroustrup 的回应。 在被

2023-04-08

TIOBE 公布了 2023 年 4 月的编程语言排行榜。 受市场需求影响,高性能编程语言正蓬勃发展。鉴于此,C 和 C++ 在 top 10 中均保持着不错的表现;尤其是 C++,在摘得了 2022 年度编程语言增势不减,其增幅高达 4.68%

2024-03-09

nbsp;方法 移除ToFormatString 方法, 用 Format 方法替代 移除ToLayoutString 方法, 用 Layout 方法替代

2024-10-26

对于 gopher 来说,时间处理是一个常见但又复杂的问题,特别是仅依赖内置的 time.Time 包时,尤其是我们在格式化时间的时候,需要用固定的 Layout,如 now := time.Now()  // 这几个数字不能乱写,不

2022-06-01

谷歌 Chrome 安全团队称其一直在致力于改善 Chrome 浏览器的内存安全;近期,该团队正在研究使用 heap scanning 技术来提高 C++ 的内存安全。 虽然从内存安全方面出发,Rust 当下可能更受大众喜爱。但 Chrome 安全团队认为,尽管人们

2022-11-13

商和运营商预防和缓解软件内存安全问题。其鼓励组织将编程语言从 C 和 C++ 之类的语言转变为内存安全的替代语言——即 C#、Rust、Go、Java、Ruby 或 Swift,以保护代码免受远程代码执行或其他黑客攻击。 “NSA 建议企业尽可

2022-10-21

谷歌宣布将其 Go 应用镜像构建器 ko 作为沙箱项目提交给 CNCF。ko 是谷歌在 2019 年开源的 Go 应用程序的简单、快速和安全的容器镜像构建器,最近还添加了一些新功能,包括多平台支持和自动 SBOM 生成。 就像谷歌

2024-01-09

carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,支持链式调用、农历和 gorm、xorm 等主流 orm。 目前已被 awesome-go-cn 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbo

2023-06-07

TIOBE 公布了 2023 年 6 月的编程语言排行榜。 受益于数据科学和人工智能领域的推动,Python 编程语言的受欢迎程度实现了疯狂增长;在过去 5 年中曾成功斩获 3 次 TIOBE 年度编程语言。TIOBE CEO Paul Jansen 指出,Python 的这一

2023-11-09

carbon 是一个轻量级、零依赖、语义化、对开发者友好的 Golang 时间处理库,支持链式调用、农历和 gorm、xorm 等主流 orm 目前已被 awesome-go-cn 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-mod

2023-08-02

反馈并汲取经验思考反思后的成果结晶。 目前他已离开谷歌,因此“Cap'n Proto 不隶属于谷歌,也从未隶属于谷歌”。基准测试结果表明,Cap'n Proto 比 Protocol Buffers 快无限倍。 自上一个版本 v0.10 以来,新版本的一些亮点内容

2023-08-25

26 日「源创会」北京站,聊聊 AI 大模型与底层技术 >>> carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,支持链式调用、农历和 gorm、xorm 等主流 orm 目前已被 awesome-go-cn 收录,如果您觉得不错,请给个

2024-01-24

carbon 是一个轻量级、语义化、对开发者友好的 Golang 时间处理库,支持链式调用、农历和 gorm、xorm 等主流 orm。 目前已被 awesome-go-cn 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-module/carbo

2023-11-04

carbon 是一个轻量级、语义化、零依赖、对开发者友好的 Golang 时间处理库,支持链式调用、农历和 gorm、xorm 等主流 orm 目前已被 awesome-go-cn 收录,如果您觉得不错,请给个 star 吧 github.com/golang-module/carbon gitee.com/golang-mod