InfoQ 重磅内容产品《中国卓越技术团队访谈录》上新啦! 了解详情
写点什么

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

  • 2022 年 7 月 21 日
  • 本文字数:1263 字

    阅读完需:约 4 分钟

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

2022 年 7 月 21 日 11:473635
用户头像

发布了 427 篇内容, 共 130.4 次阅读, 收获喜欢 568 次。

关注

评论

发布
暂无评论
发现更多内容

产品经理训练营 第二周作业记录

玲玲

产品思维 产品经理训练营

产品经理训练营-第二周作业

懒杨杨

混合云管平台openkube日志系统介绍

Mybatis系列全解(七):全息视角看Dao层两种实现方式之传统方式与代理方式

潘潘和他的朋友们

Java 后端 mybatis mybatis源码

MapReduce博文体系

小马哥

大数据 mapreduce 知识体系 架构师 七日更

香喷喷!2021最新出炉Java程序员面试全方位贴身指南

比伯

Java 编程 程序员 架构 面试

奥里给,通过这几份PDF,终于拿到了阿里,腾讯等一线大厂的offer

Java架构之路

Java 程序员 架构 面试 编程语言

新世界的智能,旧梦中的暖气

脑极体

2021 年产品训练营 - 第二周作业

Meng

第二周作业

纳豆卡玛

第二周作业

在质量管理中掘金

俊毅

产品经理训练营 Week2 作业

Mai

喜报丨京东科技主导的开源项目ShardingSphere荣登报告榜单国人主导开源项目中活跃度第五名!

京东科技开发者

分布式数据库 京东 ShardingSphere

极客大学·产品经理训练营·第二章作业

二大爷

产品经历

训练营-第二周作业

💥萝贝桃儿

Mybatis系列全解(六):Mybatis最硬核的API你知道几个?

潘潘和他的朋友们

Java 后端 mybatis mybatis源码

第二次作业&第三次作业

yoki

小程序抽奖助手产品利益相关者分析

夏天的风

产品经理训练营

产品经理训练营第二周作业 - 利益相关方

Denny-xi

产品经理 产品经理训练营

Alibaba内部晋升手册面试题集 ,Java岗位

Java架构之路

Java 程序员 架构 面试 编程语言

还不知道简历如何写?就该这样写!

yes

面试 简历

产品训练营第二周作业-利益相关者

jpcr987i

产品经理训练营第 0 期 - 第二周作业

🍑

极客大学产品经理训练营

张红珊—第二章作业

zzz

极客时间产品经理训练营第 2 次作业

待注册

第2章:产品思维作业

让时间说真话

产品经理

席卷图文学习前端Flex布局

我是哪吒

html 面试 大前端 html/css Flex

太牛了!这是什么神仙级的面试pdf(含答案),跳槽大厂不是问题

Java架构之路

Java 程序员 架构 面试 编程语言

作业 - 第二章 产品思维和产品意识

hao hao

新浪微博利益相关方分析

🙈🙈🙈

极客大学产品经理训练营

C++将被取代?谷歌发布开源编程语言Carbon:与C++能双向互操作_语言 & 开发_李冬梅_InfoQ精选文章