首页
学习
活动
专区
工具
TVP
发布

C++将被取代?谷歌发布开源编程语言Carbon:与C++能双向互操作

在 7 月 15 日至 21 日举行的多伦多北部 C++开发者大会(The Northern C++ Conference)上,谷歌工程师 Chandler Carruth 宣布了名为“Carbon”的全新开源开发语言,并称它将是 C++的继任者。

 Carbon 项目地址: https://github.com/carbon-language/carbon-lang

Chandler Carruth 表示,Carbon就是谷歌内部构建的最新编程语言,它拥有与 C++的“双向互操作性”,也就是说开发者可以直接在 Carbon 语言的程序中使用 C++,这大大提升了项目迁移的便捷性。

多年来,谷歌构建出了多个新兴的编程语言,其中一些已经在业内有了很高的知名度。

例如,Golang(或简称 Go)是为了改进服务器和分布式系统的开发而创建的,并已被公众采用。此外,最初旨在替代 JavaScript Dart 编程语言在 Flutter 发布后也开始成为主流编程语言。

在出席此次 C++开发者大会上,Chandler Carruth 分享了他对于 Carbon 这个新编程语言的愿景。Carruth 展示了当今最流行的编程语言中有多少个语言是有继任者的,这些所谓的继任者可以让开发人员快速提高生产力并利用更现代、或者更简洁的语言设计程序。

Android 开发者很清楚 Kotlin 是 Java 的继任者,正如 iOS 开发者知道 Swift 是 Objective-C 的继任者一样。

来自 Microsoft 的 TypeScript 彻底增强了 JavaScript 性能,同时能够让开发者便捷地使用 TypeScript 并能够“转译”回 JavaScript。C++ 在谷歌中得到了大量使用,它有点像古老的 C 语言的继任者。

虽然有些人可能会认为 Rust 最初是一个 Mozilla 项目,后来它拥有了大量追随者,但如果要说 Rust 是 C++ 的继任者,也并不准确。不可否认,Rust 的确是一种很好的启动新项目的语言,但它不像 Java 和 Kotlin 那样具有“双向互操作性”,因此很难稳定地迁移。

如果 Rust 今天适合你,你应该使用它。但是将 C++ 生态系统迁移到 Rust 是很困难的。

为此,虽然 Carbon 与 Rust 有许多相同的目标,例如帮助开发人员创建“性能关键软件”,但 Carbon 还旨在与现有的 C++ 代码实现完全互操作。此外,如果需要,目标是尽可能轻松地从 C++ 迁移到 Carbon。

至于为什么 C++ 开发人员可能要考虑将 Carbon 引入他们的代码库,Carruth 在会上还分享了该语言的许多亮点。

  • Introducer keywords 和简单的语法
  • 函数输入参数是只读值
  • 使用表达式来命名类型
  • 通过包名导入 API
  • 强大的、经过定义检查的泛型
  • ......

在 Carbon 的 README.md 文件中,Carbon 团队提到,虽然 C++现在依旧是有着主导性地位的语言,并有着庞大的代码库,但由于数十年的技术积累,想要持续改进 C++已经是极其困难的一件事。

而 Carbon 则不同,它在继承了 C++现有特性与生态的基础上,足够年轻,也足够“现代化”,拥有更为广阔的优化空间,潜力更大。

同时,Carbon 团队还表示,该项目的所有代码将全部公开托管在 GitHub 上,并开放 PR,这使得任何开发者都有了根据自己的需求优化改进 Carbon 语言的可能。

参考链接:

https://9to5google.com/2022/07/19/carbon-programming-language-google-cpp/

https://twitter.com/code_report/status/1549384029308338176/photo/1

https://github.com/carbon-language/carbon-lang

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址https://www.infoq.cn/article/vJVZMZWbipYjHUT0B74G
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券