Google推出编程语言Carbon,旨在取代C++,网友:C++无法取代

新闻
2022 年 7 月 19,Google 首席软件工程师 Chandler Carruth 在多伦多举行的 Cpp North 大会上发布了 Carbon。

2022 年 7 月 19,Google 首席软件工程师 Chandler Carruth 在多伦多举行的 Cpp North 大会上发布了 Carbon。

Carruth说,尽管很多人可能认为 Rust 是 C++ 的继承者,但它缺乏 Carbon 提供的“双向互操作性”水平。如果 Rust 今天适合你,你应该使用它,但是将 C++ 生态系统迁移到 Rust 将非常困难。Carbon 目标是与现有的 C++ 代码完全互操作,并且让你从 C++ 到 Carbon 的过渡尽可能容易。

Carbon 是 Google 内部构建的最新编程语言,是一个仍处于实验阶段的开源项目,该项目的代码公开托管在 GitHub 上。

当产品出现问题时,最简单、最快的解决方法就是逐步改进现有产品,但为什么谷歌选择开始使用一种全新的语言呢?

C++ 是 C 语言的继承者,无疑是编程语言里最重要的语言之一。C++ 为 Python 机器学习、JavaScript 库、游戏开发和现代编程语言中使用的许多其他工具提供支持。

C++ 也是较早的面向对象编程语言之一,具有适应性强的设计、多功能性和广泛的兼容性。C++ 启发了 Java 等更新的语言,使该语言可用于开发游戏、医疗设备、人工智能和控制系统以及许多其他应用程序。

但是,C++ 的问题同样很多:

  • 跨各种功能的累积技术缺陷(例如:整数提升规则)。与 C 的向后兼容性使得修复技术缺陷变得更加困难,并使代码更改难以实施。
  • 向 C++ 添加新功能的演进过程非常困难,需要面对语言背后的严格治理以及可能长达数年的漫长审批过程。

所以 C++ 不能满足谷歌的的一些要求,比如性能要求、软件和语言的演变、易于理解和编写、快速和可扩展的开发等等。但用C++解决这些问题实在是太难了,或者说太慢了。但C++对于谷歌来说非常重要,据说谷歌的产品服务中有超过20亿行的C++代码。

所以谷歌只能采用另外一种方案,开发一种新的语言,可以与C++实现双向互操作。类似于创建 TypeScript 以弥补 Javascript 或 Kotlin for Java 的缺点的方式。经过谷歌工程师对多语言的深入研究和评估,引入了Carbon编程语言。

提到C++ 的继承者,很多人认为Rust是一个不错的选择,目前来说Rust 是一种更可行的语言,甚至 Carbon 本身的创造者也承认这一点。但它不具备 Java 和 Kotlin 等语言的“双向互操作性”,因此难以稳定迁移,这不符合谷歌的初衷。

Carruth阐述了Carbon的目标和宗旨,创建性能关键型软件,同时支持软件和语言的发展。另一个核心目标是使代码易于阅读、理解和编写。这可以为现代操作系统平台、硬件架构和环境实现快速且可扩展的开发。同样重要的是,carbon 还支持与现有 C++ 代码的互操作性和迁移。Carbon使用开源构建,用户可以根据设定的目标和优先级为程序做出贡献。

对于谷歌推出的新语言Carbon,网友也是众说纷纭。有人认为C++非常健壮,坚不可摧,是无法取代的基石。有人认为推出新语言只是一种作秀,对开发软件去起不到什么作用。也有人认为,Carbon的项目非常必要,因为C++在一些重要领域发展滞后,无法解决。Carbon的互操作性让他对这个项目非常期待。

距离Carbon发布已过去半年时间了,你用过这门新的语言吗?你的体验如何?

责任编辑:华轩 来源: 今日头条
相关推荐

2022-07-28 19:35:11

Carbon编程语言C++

2022-07-20 15:20:40

谷歌开源

2022-07-24 21:36:23

C++编程语言开源

2021-12-03 17:22:09

CC++编程语言

2017-09-18 08:53:28

编程语言ERP补丁管理

2022-10-21 18:41:23

RustC++Azure

2022-05-10 08:40:19

编程语言C#

2022-08-07 16:04:15

CarbonC++

2010-01-11 09:40:02

C++语言

2011-07-10 15:26:54

C++

2011-05-30 15:29:32

C++

2010-01-14 17:52:02

2010-01-20 17:23:03

C++编程语言

2010-01-12 15:24:48

C++语言

2010-01-18 17:14:50

C++语言

2015-04-21 13:37:44

Google开源CC++版

2010-01-15 17:38:37

C++语言

2010-01-12 10:40:22

C++程序员

2010-01-25 15:09:17

C++语言

2010-01-14 10:23:08

C++语言
点赞
收藏

51CTO技术栈公众号