Google 强势开源 Carbon 语言,号称要替代 C++
Posted 非著名程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google 强势开源 Carbon 语言,号称要替代 C++相关的知识,希望对你有一定的参考价值。
大家好,我是校长。
前几天看到一条新闻,在近日举行的 CppNorth 开发者大会上,谷歌工程师 Chandler Carruth 宣布了名为 “Carbon” 的全新开源开发语言,并称它将是 C++ 的继任者。
在 Carbon 语言的 GitHub 开源文档上,赫然写着:Carbon 语言是 C++ 的继任者。
那为什么要开发 Carbon 语言替代 C ++ 呢?
在 Carbon 语言的开源技术文档上是这么写的,如下:
C++ 仍然是性能关键型软件的主要编程语言,拥有大量且不断增长的代码库和投资。然而,如上所述,它正在努力改进和满足开发人员的需求,这在很大程度上是由于积累了数十年的技术债务。由于技术债务本身和演化过程中的挑战,逐步改进 C++ 非常困难。解决这些问题的最佳方法是避免直接继承 C 或 C++ 的传统,而是从坚实的语言基础开始,如 现代泛型系统、模块化代码组织和一致、简单的语法。
现有的现代语言已经提供了出色的开发人员体验:Go、Swift、Kotlin、Rust 等等。不幸的是,这些语言的设计对 C++ 的采用和迁移存在重大障碍。这些障碍的范围从软件惯用设计的变化到性能开销。
Carbon 从根本上说是一种后继语言方法,而不是逐步发展 C++ 的尝试。它是围绕与 C++ 的互操作性以及现有 C++ 代码库和开发人员的大规模采用和迁移而设计的。
那凭什么认为 Carbon 比 C++ 更优秀,能成为继承者呢?
Chandler Carruth 表示,Carbon 拥有与 C++ 的 “双向互操作性”,也就是说开发者可以直接在 Carbon 语言的程序中使用 C++,这大大提升了项目迁移的便捷性。
而从 Carbon 的 GitHub 技术文章也能够看出,谷歌在开发该语言的时候,就将接替 C++ 作为了核心目标,它拥有大量与 C++ 相契合的特性,一个熟练的 C++ 开发者将能够迅速上手 Carbon,并熟练进行程序的编辑。
官方开源文档上是这么说的,如下:
快速且可与 C++ 一起使用
性能匹配 C++ 使用 LLVM,对位和地址进行低级访问
与现有的 C++ 代码互操作,从继承到模板
可与现有 C++ 构建系统一起使用的快速且可扩展的构建
现代且不断发展
易于学习的扎实语言基础,特别是如果您使用过 C++
Carbon 版本之间基于工具的简单升级
更安全的基础,以及通往内存安全子集的增量路径
欢迎开源社区
明确的目标和优先事项,以及强有力的治理
致力于欢迎、包容和友好的社区
包含电池的方法:编译器、库、文档、工具、包管理器等
Carbon 从根本上说是一种后继语言方法,而不是逐步发展 C++ 的尝试。它是围绕与 C++ 的互操作性以及现有 C++ 代码库和开发人员的大规模采用和迁移而设计的。Carbon 语言能做到以下几点:
性能匹配 C++,这是我们开发人员的基本属性。
与 C++ 的无缝、双向互操作性,因此现有 C++ 堆栈中的任何库都可以采用 Carbon 而无需移植其余部分。
一个温和的学习曲线,对 C++ 开发人员有合理的熟悉度。
对现有软件的设计和架构具有可比性和支持。
可扩展的迁移,对惯用的 C++ 代码进行某种程度的源到源转换。
通过这种方法,我们可以在 C++ 现有的生态系统之上构建,并带来现有的投资、代码库和开发人员群体。
所以,Carbon 语言和 C++ 的关系就像是:
javascript → TypeScript
Java → Kotlin
C++ → Carbon
正如我们熟知的,C++ 是 C 语言的继承者,Kotlin 是 Java 的继承者,Swift 是 Objective-C 的继承者,而来自微软的 TypeScript 彻底增强了 JavaScript,同时保持舒适的使用并能够 “转译” 回 JavaScript。那么 Carbon 语言是 C++ 的继承者。
看看这些语言的关系,就知道程序员为什么要活到老,学到老了,也就知道为什么很多经验都无法积累了。
就连官方都说:由于技术债务本身和演化过程中的挑战,逐步改进 C++ 非常困难。解决这些问题的最佳方法是避免直接继承 C 或 C++ 的传统,而是从坚实的语言基础开始,如 现代泛型系统、模块化代码组织和一致、简单的语法。
你看,我终于知道为什么程序员这么累了,也终于知道为什么技术总是在推陈出新了。不仅仅开发软件的人不喜欢祖传的遗留代码,就连开发编程语言的顶尖程序员也都不喜欢遗留代码,不喜欢技术债。编程语言的开发者,真的是一言不合,就开发一个新语言啊,如果某一种开发语言有缺陷,我就不去修改和维护,技术债太严重了,还不如直接开发一个新语言呢?
所以,摆脱技术债最好的方法就是:重新开发一个新的编程语言或者重新开发一个新产品。
这话是不是很耳熟呢?
对于我们做软件开发的程序员来讲,面对遗留代码,祖传的屎山代码,不敢动,宁愿重新开发一个新功能,新产品,也不愿意接收老代码。
这都是一脉相承,一脉相通的啊。
Carbon 语言开源地址:https://github.com/carbon-language/carbon-lang
点击下方公众号卡片,关注我
在公众号对话框,回复关键字 “1024”
免费领取副业赚钱实操教程
以上是关于Google 强势开源 Carbon 语言,号称要替代 C++的主要内容,如果未能解决你的问题,请参考以下文章
为取代 C++,Google 强势开源 Carbon 语言!
微信打开时支持消息通知横幅引热议;Google和甲骨文的云服务因英国高温天气而下线;谷歌发布开源开发语言Carbon|极客头条