要成为 C++ 的继任者?Google 开源新编程语言 Carbon

开发 开源
本月 19 日,在多伦多举行的 Cpp North 大会上,出席会议的 Conor Hoekstra 分享了 Google 员工 Chandler Carruth 对名为 Carbon 的新编程语言的愿景。为了设置场景,Carruth 展示了当今最流行的编程语言中有多少有后继者,可以让开发人员快速提高生产力并利用现代语言设计。

Carbon 是 Google 内部构建的最新编程语言,近日已作为 C++ 的实验性继任者亮相。

这么多年来,Google 创造了一些编程语言,其中一些语言比其他语言更受欢迎和有特色。例如,Golang(或简称 Go)是为了改进服务器和分布式系统的开发而创建的,并已被公众采用。与此同时,最初旨在替代 JavaScript 的 Dart 编程语言直到 Flutter 发布才成为主流。

图片

本月19 日,在多伦多举行的 Cpp North 大会上,出席会议的 Conor Hoekstra 分享了 Google 员工 Chandler Carruth 对名为 Carbon 的新编程语言的愿景。为了设置场景,Carruth
展示了当今最流行的编程语言中有多少有后继者,可以让开发人员快速提高生产力并利用现代语言设计。Android开发者都知道 Kotlin 是 Java 的继承者,就像 iOS 开发者都知道 Swift 是 Objective-C 的继承者一样。来自微软的 TypeScript 对 JavaScript 进行了彻底的增强,同时仍然能够舒适地使用并“编译”回 JavaScript。C++ 在 Google 中得到了大量使用,它同样是原始 C 编程语言的继承者。

图片

虽然有些人可能会认为 Rust 是 C++ 的继承者,它最初是一个 Mozilla 的项目,后来发展成为一个拥有大量公众追随者的项目,但 Carruth 怀疑是否还有类似的情况。不可否认的是,Rust 是一个很好的启动新项目的语言,但它不像 Java 和 Kotlin 那样具有“双向互操作性”,这使得稳定的迁移变得困难。

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

为此,虽然 Carbon 与 Rust 有许多相同的目标,例如帮助开发人员创建“对性能至关重要的软件”,但 Carbon 还旨在与现有的 C++ 代码完全互操作。此外,如果需要,目标是尽可能轻松地从 C++ 迁移到 Carbon。至于为什么 C++ 开发人员可能要考虑将 Carbon 引入他们的代码库,Carruth 分享了该语言的许多亮点。

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

除了语言本身的特性之外,Carbon 团队还关注将塑造 Carbon 未来的开发过程。该项目的代码在 GitHub 上公开托管,并且对拉取请求开放,而 Carbon 的文化被概述为对公司员工和个人等的员工来说都是开放和包容的。

也就是说,Carbon  编程语言的一个方面没有特别清楚地概述是 Google 的参与。虽然今天的演示文稿是由 Google 员工分享的,并且 Carbon 目前的项目负责人主要(但不完全)由 Google 员工组成,除此之外没有提到 Carbon 是 Google 项目。

这实际上是有意为之的,因为虽然 Carbon 在 Google 内部起步,但该团队理解并在网上分享说,即为了在未来取得任何成功,Carbon 需要成为“一个独立的、由社区驱动的项目”,而不仅仅是由 Google 自己的用途驱动。在同一评论中,Carruth 进一步强调 Carbon 目前只是一项实验,尽管一些公司已经表现出早期的兴趣。

图片

如果你有兴趣开始使用Carbon,可以下载源代码并在自己的设备上进行实验。或者,由于与免费的 Compiler Explorer Web 应用程序集成,您可以直接在浏览器中体验 Carbon 编程语言。

责任编辑:庞桂玉 来源: Linux公社
相关推荐

2022-07-20 15:20:40

谷歌开源

2022-08-07 16:04:15

CarbonC++

2023-03-16 15:00:31

CarbonC++编程语言

2022-07-28 19:35:11

Carbon编程语言C++

2022-08-01 14:42:49

C++编程

2018-02-25 11:12:17

Fuchsia安卓谷歌

2014-06-24 10:37:03

智能设备新技术

2012-03-13 16:45:09

超级计算机沃森Deep Thunde

2023-01-09 16:44:53

编程语言C++C

2012-02-17 09:33:08

KotlinJavaJVM

2011-01-28 15:26:34

深蓝人机大战沃森

2009-07-29 16:44:45

AndroidSimpleGoogle

2022-01-13 11:00:58

Kubernetes Gateway APILinux

2011-12-14 16:47:12

N8诺基亚Symbian

2015-04-21 13:37:44

Google开源CC++版

2016-06-13 14:13:27

开发者全新编程语言

2014-06-04 10:52:56

Swift苹果iOS

2021-09-17 15:18:19

编程语言CPython

2015-10-19 09:23:44

新编编程女人

2010-01-22 15:14:37

学习C++
点赞
收藏

51CTO技术栈公众号