Carbon是Google内部构建的最新编程语言,最近作为C++的实验性继承者首次亮相。多年来,谷歌创造了多种编程语言,其中一些比其他语言更受欢迎、更有特色。例如,Golang(或简称Go)是为改进服务器和分布式系统的开发而创建的,并已被大众采用。与此同时,原本打算取代JavaScript的Dart编程语言直到Flutter发布后才成为主流。本月19日,在多伦多举行的CppNorth会议上,与会的ConorHoekstra分享了谷歌员工ChandlerCarruth对一种名为Carbon的新编程语言的愿景。为了设定场景,Carruth展示了当今最流行的编程语言中有多少有后继者可以让开发人员快速提高生产力并利用现代语言设计。Android开发人员将Kotlin视为Java的继承者,就像iOS开发人员将Swift视为Objective-C的继承者一样。Microsoft的TypeScript是对JavaScript的根本增强,同时仍然易于使用和“编译”回JavaScript。C++在谷歌大量使用,也是原始C编程语言的继承者。虽然有些人可能认为Rust是C++的继任者,它最初是一个Mozilla项目,后来发展成为一个拥有大量公众追随者的项目,但Carruth怀疑是否存在类似的东西。不可否认,Rust是一种用于启动新项目的优秀语言,但它不像Java和Kotlin那样具有“双向互操作性”,这使得稳定迁移变得困难。如果Rust今天对你有用,你应该使用它。但是将C++生态系统迁移到Rust是困难的。为此,虽然Carbon与Rust有许多相同的目标,例如帮助开发人员创建“性能关键型软件”,但Carbon还旨在与现有C++代码完全互操作。此外,目标是在需要时尽可能轻松地从C++迁移到Carbon。至于为什么C++开发人员可能想要考虑将Carbon引入他们的代码库,Carruth分享了该语言的许多亮点。Introducer关键字和简单语法函数输入参数为只读值指针提供间接访问和变体使用表达式命名类型包是根名称空间通过包导入API具有显式对象参数的方法声明强大的定义检查泛型类型显式实现接口除了语言本身的特性之外,Carbon团队还专注于塑造Carbon未来的开发过程。该项目的代码公开托管在GitHub上并开放请求请求,Carbon的文化被描述为对公司员工和个人都是开放和包容的。也就是说,Carbon编程语言没有特别明确概述的一个方面是谷歌的参与。虽然今天的演讲是由Google员工分享的,并且Carbon目前的项目负责人主要(但不完全)由Google员工组成,但除此之外没有提及Carbon是一个Google项目。这实际上是有意为之的,因为虽然Carbon是在Google内部起步的,但该团队理解并在网上分享,为了在未来取得成功,Carbon需要成为“一个独立的、社区驱动的项目”,而不仅仅是由Google自己驱动使用。在同一条评论中,Carruth进一步强调Carbon目前只是一个实验,尽管一些公司已经表现出了早期的兴趣。如果您有兴趣开始使用Carbon,您可以下载源代码并在您自己的设备上进行试验。或者,由于与免费的CompilerExplorerWeb应用程序集成,您可以直接在浏览器中体验Carbon编程语言。
