为取代 C++,Google 强势开源 Carbon 语言!

为取代 C++,Google 强势开源 Carbon 语言!
文章图片
整理|彭慧中责编|屠敏出品|CSDN(ID:CSDNnews)每一种编程语言都曾想一统江湖 , 将其他语言取而代之 。 但事实上 , 能够在众多竞争者中脱颖而出并雄霸一方天地并非易事 。 今天 , 谷歌重磅公开了其内部建立的最新编程语言——Carbon , 剑指C++ , 欲成为其实验性继任者 。
历朝历代的“继承者们”
多年来 , 谷歌创建了许多编程语言 , 其中一些已经广为流行并深受大家的喜爱 。 例如 , Golang(简称Go)是为了改善服务器和分布式系统的开发而创建的 , 后来被公众采用 。 同时 , Dart编程语言 , 最初是作为JavaScript的替代品 , 直到Flutter的发布后终于成为主流语言 。
日前在多伦多举行的CppNorth大会(专门讨论C++的会议)上 , 谷歌首席软件工程师和开源软件开发者ChandlerCarruth分享了一种名为Carbon的新编程语言的愿景 。 Carruth展示了当今许多最流行的编程语言是如何拥有继承者的 , 这些继承者们利用了现代语言设计的优势 , 使开发者能够迅速提高生产力 。
正如我们熟知的 , C++是C语言的继承者 , Kotlin是Java的继承者 , Swift是Objective-C的继承者 , 而来自微软的TypeScript彻底增强了JavaScript , 同时保持舒适的使用并能够“转译”回JavaScript 。 那么 , C++的继承者会是哪一个?Rust或者是这个新出现的Carbon?
为取代 C++,Google 强势开源 Carbon 语言!
文章图片
图源推特@ConorHoekstra或许很多人会选择Rust作为C++的后继语言 。 不可否认 , 想要启动新项目 , Rust是一种很好的语言选择 , 但它不像Java和Kotlin那样具有“双向互操作性” , 因此很难稳定地迁移 。 借用ConorHoekstra的说法 , “如果Rust今天适合你的项目 , 你应该使用它 。 但是未来想要将C++项目背后的整个生态系统迁移到Rust是困难的 。 ”
为此 , 虽然Carbon有许多与Rust相同的目标 , 如帮助开发者创建“性能关键型软件” , 但Carbon也打算与现有的C++代码完全互通 , 并使从C++迁移到Carbon尽可能容易 。
取代C++ , Carbon的使命
为什么C++开发人员可能想考虑在他们的代码库中引入Carbon?
为取代 C++,Google 强势开源 Carbon 语言!】尽管C++仍然是性能关键型软件的主流编程语言 , 拥有庞大且不断增长的代码库 。 但其易用性较差、掌握难度大、以及由于语言功能过于丰富而易导致混乱等特点 , 也经常被人诟病 。 由于积累了几十年的技术债务 , 企图逐步改进C++是非常困难的 , 这既是由于技术债务本身 , 也是由于其进化过程中的挑战 。 解决这些问题的最好方法是避免直接继承C或C++的“遗产” , 而是从坚实的语言基础开始 , 如构建现代泛型系统、模块化的代码组织和一致、简单的语法 。
正因如此 , Carbon应运而生 , 其目标如下:
1.速度快 , 可与C++一起使用
性能与使用LLVM的C++相匹配 , 具有对位和地址的低级访问
从“遗产”到模板 , 实现与现有的C++代码互操作
快速和可扩展的构建 , 与现有的C++构建系统一起工作
2.现代化和并且能不断发展
坚实的语言基础 , 易于学习 , 特别是对于已经使用过C++的人
简单的、基于工具的Carbon版本之间的升级
更安全的基本原理 , 以及逐步实现内存安全子集的途径
3.打造受欢迎的开源社区
明确的目标和优先级 , 具有强大的管理能力
社区致力于成为一个欢迎、包容和友好的社区
包含“电池”的方法:编译器、库、文档、工具、包管理器等