查看原文
其他

谷歌开源替代C++的编程语言:Carbon

慧天地 2022-09-22

点击上方“慧天地”关注我们

文章转载自微信公众号开源前线,版权归原作者及刊载媒体所有。


谷歌工程师 Chandler Carruth 近日在多伦多举办的 CppNorth 大会上宣布①,正式开源谷歌内部打造的编程语言:Carbon,并称 Carbon 是 C++ 的继任者(目前处于实验性阶段)。


Chandler 列举了当今流行编程语言演进的一些例子,比如:Java 到 Kotlin、Objective-C 到 Swift、JavaScript 到 TypeScript。在谷歌内部被广泛使用的 C++,在某种程度上也被视作为 C 语言的继任者。他认为这些继任者能帮助开发者快速提高生产力,并利用现代语言特性。

Chandler 还提到了 Rust,虽然它最初也标榜是 C++ 的继任者,但这两者的关系不像 Java 和 Kotlin 那样具有 “双向互操作性”,因此很难稳定地迁移。至于 Carbon,它与 Rust 有许多相同的目标,并且支持与现有的 C++ 代码完全互操作,目标是让开发者尽可能轻松地从 C++ 迁移到 Carbon。

Carbon 亮点:

  • Introducer 关键字和简单语法

  • 函数输入参数为只读值

  • 指针提供间接访问和变体

  • 使用表达式来命名类型

  • 软件包为 root 命名空间

  • 通过包名导入 API

  • 用显式对象参数进行方法声明

  • 单继承、默认使用最终类

  • 强大且经过定义检查的泛型

  • 类型可显式实现接口

C++ 代码和 Carbon 代码对比:


目前 Carbon 语言的代码已完全开源②。Chandler 表示,虽然 Carbon 诞生自谷歌内部,且目前的项目负责人主要(不完全)由谷歌员工组成,但它的目标是要成为一个 “独立且由社区驱动的开源项目”。

如果你对 Carbon 感兴趣,可以下载源代码③并在自己的设备上进行试验,或者通过 Compiler Explorer④ 直接在浏览器中体验 Carbon 编程语言。


对于 Carbon 项目,有开发者透露⑤了一些背景信息:2020 年 2 月,C++ 标准委员会就 “破坏 ABI 兼容性以保证性能” 提案进行了投票,这项工作主要由谷歌员工推动,但最终投票没有通过。因此,许多谷歌员工已经停止参与 C++ 的标准化工作,并辞去他们在委员会中的正式职务,clang 的开发工作也大大放缓。基于这些背景,再结合谷歌对 Carbon 设定的目标,这名开发者认为,谷歌确实希望把 Carbon 打造成替代 C++ 的语言。

相关链接:

①https://twitter.com/chandlerc1024/status/1549411352657133568
②https://github.com/carbon-language/carbon-lang
③https://github.com/carbon-language/carbon-lang#getting-started
④https://carbon.compiler-explorer.com/
⑤https://www.reddit.com/r/programming/comments/w2thvo/carbon_an_experimental_c_successor_language/




荐读

2022年全国大学生测绘学科创新创业智能大赛测绘技能团体竞赛拟获奖名单公示2022年全国大学生测绘学科创新创业智能大赛优秀指导教师拟获奖名单公示2022年全国大学生测绘学科创新创业智能大赛——科技论文竞赛拟获奖名单公示

《慧天地》敬告

《慧天地》公众号聚焦国内外时空信息科技前沿、行业发展动态、跨界融合趋势,发现企业核心竞争力,传播测绘地理信息文化,为时空信息类相关专业学子提供日常学习、考研就业一站式服务,打造政产学研金服用精准对接的平台。

《慧天地》借鉴《读者》办刊理念,把时空信息领域的精华内容汇聚到平台上。我们高度重视版权,对于精选的每一篇推文,都会在文章开头显著注明出处,以表达对作者和推文引用平台版权的充分尊重和感谢;对于来源于网络作者不明的优质作品,转载时如出现侵权,请后台留言,我们会及时删除。感谢大家一直以来对《慧天地》的关注和支持!


——《慧天地》运营团队

投稿、转载、商务等合作请联系

微信号:huitiandi321

邮箱:geomaticshtd@163.com

编辑:朱奔宇  审核:马冉冉 王其轩指导:万剑华教授

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存