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

点击蓝字

8f7da5f2166c7053e329b90442d24511.png

关注我们

因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享

来源于网络,侵删

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

71ce0b8d5076b192f9f57f4ff507c170.png

7daf3422b277786862c8ee55549da7a0.png

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 代码对比:

7c841829e22646055f7438fe31a986b2.png

65f27a62b2e77cd87934f4b23ad62f74.png

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

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


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

如果你年满18周岁以上,又觉得学【C语言】太难?想尝试其他编程语言,那么我推荐你学Python,现有价值499元Python零基础课程限时免费领取,限10个名额!
▲扫描二维码-免费领取

戳“阅读原文”我们一起进步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言灵魂拷问:++i为何比i++执行效率高!有何区别?

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删背景相信很多人遇到过这样的问题:printf("%d,%d",i,i);也纠结过这个问题,到底答案是什么。确没有一个参考的资…

指标实现层级_企业如何构建核心指标系统,实现业务运营效率提升90%?

本文为帆软数据生产力大赛获奖案例,未经授权禁止转载。01企业简介西安怡康医药连锁有限责任公司成立于2001年,总部设在西安市大庆路副24号,是一家由零售连锁药店发展起来的大型医药连锁企业,除药品零售外,同时兼营药品批发与器械批…

学生时代,你有遇到过像我这样理解C语言的吗?

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删今天我讲一下我个人对C语言的认识以及自己的理解,若有错误,还望指出,不甚感激。首先是C语言整体的脉络&#…

scrapyd部署_第八章 第一节 scrapyd和scrapy-client

如果觉得文章对您产生帮助的话, 欢迎关注Python开发之路(微信公众号: python-developer), 及时获取更多教程假设有我们做了一个项目是抓取很多网站(每个网站对应一个爬虫), 需要分别部署到不同的服务器上(单台扛不住), scrapy官方也提供了一种部署工具scrapyd。这个工具是用来将…

C++ 首超 Java,与 Python、C语言共角逐年度最佳编程语言奖!

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删最新的 TIOBE 12 月编程语言已发布,先来预测一波今年的年度编程语言大奖究竟会花落谁家吧?C 首超 Java和上个月相比&…

乔安监控云存储能存多长时间_干货 | 监控磁盘阵列知识介绍,不了解还不来看看?...

一、磁盘阵列的概念要定义磁盘阵列的概念,是一个简单的工作,因为这个概念已经形成了共识——磁盘阵列(DiskArray)是由一个硬盘控制器来控制多个硬盘的相互连接,使多个硬盘的读写同步,减少错误,增加效率和可靠度的技术。…

我要是在学习 C 语言之前知道这些就好了!

点击蓝字关注我们因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源于网络,侵删对于我来说,学习 C 语言好难啊。这门语言本身的基础知识并不是很难,但是“用 C 语言编程”需要用到各种知识,…

opencv yuv保存本地_OpenCV-dlib-python3实现人脸戴墨镜和含Y的抖音效果

1 说明:1.1 吸烟有害健康!!纯属娱乐和学习python的相关知识。1.2 虽然是娱乐,但是opencv、dlib和python在人工智能、人脸识别、自动化等有很大作用,目前已经或者未来会有更多的应用,作为一名普通人&#xf…

为什么永远不会有语言取代 C/C++?

关注星标,每天学习C语言新技能因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源:网络数以百计的 C/C 替代品将会出现,但 C/C 将永远与我们同在!每个 CPU 都带有一种称为 ISA(指…

qt 表格中插入一行_在EXCEL表格中,快速插入多行、多列的技巧

在使用Excel过程中,我们会遇到需要插入相同格式的多行或多列,如果一行行或一列列的插入,对于插入的数量较少的情况还是适用的。可是如果需要插入上百的行或列,使用此方法就比较费时费力啦。分享几个小技巧实现快速插入多行或多列.…

amber 口译_口译员设计模式示例

amber 口译本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因,并了解何时以及如何应用模式中的每一个。 在这里查看 &#xff…

别再自己瞎写工具类了,SpringBoot内置工具类应有尽有,建议收藏!!

关注星标,每天学习C语言新技能因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源:网络断言断言是一个逻辑判断,用于检查不应该发生的情况Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-en…

ad转换器工作原理_AD转换中参考电压的作用

AD转换AD转换就是模数转换。顾名思义,就是把模拟信号转换成数字信号。主要包括积分型、逐次逼近型、并行比较型/串并行型、Σ-Δ调制型、电容阵列逐次比较型及压频变换型。A/D转换器是用来通过一定的电路将模拟量转变为数字量。模拟量可以是电压、电流等电信号&…

面试大全 | C语言高级部分总结

关注星标,每天学习C语言新技能因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源:网络一、内存大话题1.0、内存就是程序的立足之地,体现内存重要性。1.1、内存理解:内存物理看是有很多个Ban…

ideal pom文件安装到maven库中_java学习之web基础(14)Maven基础学习

maven介绍Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM: Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运…

戴尔集群监控与管理系统_监控与管理

戴尔集群监控与管理系统本文是我们名为“ EAI的Spring集成 ”的学院课程的一部分。 在本课程中,向您介绍了企业应用程序集成模式以及Spring Integration如何解决它们。 接下来,您将深入研究Spring Integration的基础知识,例如通道&#xff0…

三位数除以两位数竖式计算没有余数_苏教四上期末复习——两、三位数除以两位数...

期末复习读万卷书 <做一好题第二单元两、三位数除以两位数计算能力1、竖式计算5106740961700262914246829810132、简便方法计算150253810(92)560353、填空720秒( )分300分( )时336时( )日调商1、小李计算一道除法是两位数的除法算式,商是12&#x…

单例模式示例_单例设计模式示例

单例模式示例本文是我们名为“ Java设计模式 ”的学院课程的一部分。 在本课程中,您将深入研究大量的设计模式,并了解如何在Java中实现和利用它们。 您将了解模式如此重要的原因,并了解何时以及如何应用模式中的每一个。 在这里查看 &#x…

解读C++即将迎来的重大更新(一):C++20的四大新特性

关注星标,每天学习C语言新技能因公众号更改推送规则,请点“在看”并加“星标”第一时间获取精彩技术分享来源:网络C20(C 编程语言标准 2020 版)将是 C 语言一次非常重大的更新,将为这门语言引入大量新特性。…

小尼机器人_小尼被机器人嫌弃“唱歌难听,长相一般”?

我们如今所处的时代,科技创新的速度日新月异,生活方式多彩多姿。人人都说:科技改变了生活。今晚《开门大吉》也迎来了三大改变生活的神奇黑科技!智能且生态的“移动城堡”在网上预定好酒店以后,到了现场没有前台和服务员&#xff…