Google开源语言Carbon准备和C++"碰一碰"
每一种编程语言都想统一江湖,取代其他语言。但事实上,在众多竞争对手中脱颖而出并主宰世界并不容易。今天,谷歌公开了其内部建立的最新编程语言——Carbon,剑指C++
Google开源语言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?
也许很多人会选择Rust作为C后续语言。不可否认,要开始一个新项目,Rust这是一个很好的语言选择,但它不像Java和Kotlin那样具有“双重互操作性”因此,很难顺利转移。ConorHoekstra的说法,“如果Rust今天适合你的项目,你应该用它。但是如果你将来想要,你应该使用它。C整个生态系统迁移到项目背后Rust是艰难的。”
因此,尽管Carbon有很多与Rust同样的目标,比如协助开发者建立“关键性能软件”,但Carbon现在也准备好了C代码完全相互通信,使从C转移到Carbon尽量容易。
替代C,Carbon的使命
为何C开发人员可能想考虑在他的代码库中引入它Carbon?
虽然C它仍然是关键性能软件的主流编程语言,拥有庞大而不断增长的代码库。然而,它的便利性差,难以掌握,而且由于语言功能过于丰富,容易造成混淆,因此经常受到批评。由于几十年来积累的技术负债,试图逐步改进C这是非常困难的,不仅仅是由于技术债务本身,也是由于进化过程中的挑战。解决这些问题的最好办法是防止直接继承C或C的“财产”相反,它从一个坚实的语言基础开始,比如构建一个现代的泛型系统,模块化的代码组织和一致性,简单的语法。
正是如此,Carbon目标如下:
1.速度快,可与C一起使用
性能与使用LLVM的C合和地址的低级浏览
从“财产”到模板,实现和当前C代码互操作
快速和可扩展的建设,以及当前的建设C一起工作一起工作
2.现代化和持续发展
坚实的语言基础,易于学习,特别是对于已经使用过的语言C得人
简单,基于工具Carbon升级版本
更安全的基本原则,以及逐步实现内存安全子集的方式
3.创建一个受欢迎的开源社区
目标明确,管理水平优先
社区致力于成为一个欢迎、宽容和友好的社区
包括“电池”方法:编译器、库、文档、工具、包管理器等
虽然Carbon这是从谷歌内部开始的,但是团队愿意开源,以便在未来取得成功,Carbon需要成为一个“由社区驱动的独立项目",而不仅仅是为谷歌自用。