“C++继任者”火到GitHub趋势榜一,C++之父:规范不足,无法评价
您已经看过
[清空]
    fa-home|fa-star-o
    当前位置:日收域名购买交易_日收站出售交易>日收高权重域名>“C++继任者”火到GitHub趋势榜一,C++之父:规范不足,无法评价

    “C++继任者”火到GitHub趋势榜一,C++之父:规范不足,无法评价

    Alex 发自 凹非寺量子位 | 公众号 QbitAI

    今年的CPP North C++大会上,谷歌宣布了一门新的编程语言Carbon,并称其将是C++的继任者

    谷歌将其在GitHub上开源。虽然这个语言目前还处于实验阶段,但还是很快吸了引众多程序员前来围观,还一度登上了GitHub趋势榜第一,现已收获标星21.3k。

    对于谷歌方开发者称Carbon是C++的继承者一事,有国外媒体询问了C++之父Bjarne Stroustrup的看法,老爷子表示:

    这些年总是有新的语言试图成为C++的继承者,我欢迎对编程语言和编程风格进行实验;

    Carbon太新且规范不足,我无法真正做出有意义的技术评论。而通常在不开发全新语言规则、库和管理方案的情况下,很难提供C++的替代方案。

    所以谷歌团队为什么非要搞一个C++替代版而不是继续完善现有的C++?毕竟他们自己内部都在广泛使用这个语言。

    为什么不去升级C++?

    对此,带领团队开发Carbon的谷歌工程师钱德勒·卡鲁斯(Chandler Carruth)解释称,C++至今已有40岁了,其自身的很多问题困扰着现在的开发人员。

    数十年来,C++已积累了许多技术负债。其维护者优先考虑向后兼容苹果短信误删了怎么恢复,以便继续支持广泛使用的项目,但这样容易导致代码量巨大。

    而且C++虽然有开源的编译器(如gcc),但也有不少闭源编译器,其中的某些功能可能要过很久才能改善升级。

    此外,C++语言的发展也受到了官僚委员会管理程序的阻碍,该程序以标准化而非设计为导向,这种做法导致很难给其添加新功能。

    解决这些问题的最佳方法是避免直接继承C或C++的遗产,而是从语言基础开始,例如:现代泛型系统、模块化代码组织、一致的简单语法等。

    卡鲁斯也在CPP大会上提到,该语言并不是为了和C++未来改进版本竞争,而是——

    探索用C++做不到的事

    正如微软创建TypeScript来更新JavaScript那样,Carbon作为一种在C++基础上开发的新语言,将为更多开发者解决内存安全和泛型等问题,来弥补C++的不足。

    目前Carbon语言的亮点包括:

    • Introducer关键字和简单语法;

    • 函数输入参数为只读值

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

    • 使用表达式命名类型;

    • 通过包名导入APIs;

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

    • ......

    此外,谷歌正在继续开发Carbon以支持以下功能:

    • 性能关键型软件;

    • 软件和语言的演变;

    • 易于阅读、理解和编写的代码;苹果短信误删了怎么恢复

    • 实用的安全和测试机制;

    • 快速且可扩展的开发;

    • 现代操作系统平台、硬件架构和环境;

    • 与现有C++代码的互操作性和迁移性。

    开发团队还将创建一个内置包管理器,这是C++中非常缺乏的。

    举个简单的例子:用C++代码和Carbon代码分别计算半径为1和2的两个圆面积之和。二者对比如图:

    图源:GitHub;左为C++代码,右为Carbon代码

    下图展示了Carbon和C++互通性。程序员可以在Carbon上调用C++库、方法和函数,而不需要额外的开销,反之亦然。

    不过至于安全问题,Carbon并没有一开始就建立内存安全系统。

    卡鲁斯介绍说,由于C++内存安全性很差,所以Carbon的研发起点很低,该项目优先考虑的是迁移而不是安全;希望以后Carbon至少可以和Go或Swift一样安全。

    事实上,在Carbon之前,Mozilla(就是开发火狐那个)于2015年就发布了一个也标榜自己为C++继承者的语言:Rust,而且这个Rust很注重内存安全性。

    那为什么不大力发展Rust呢?

    Carbon是为有大量C++库者准备的

    卡鲁斯在CPP会议上对此回应称,C++和Rust之间的衔接性不好,要将C++的生态系统转移到Rust非常困难。苹果短信误删了怎么恢复

    对于那些已经拥有大量C++代码库的开发者来说,要把自己之前的东西搬到Rust编辑器上就很麻烦了。

    而Carbon被设计成一种C++的后继语言,它以后将实现和C++无缝连接,并具备与C++的双向互操作性,这对于有大量C++代码库者非常友好。

    对于那些没有这种烦恼的程序员们,卡鲁斯表示,想用Rust的话就继续用好了。

    网友纷纷围观

    前来围观Carbon的一众网友中,有人表示支持谷歌开发这个新语言:

    若能在这里直接调用C语言库的低层级Stuff函数,而不需在开头加行extern C,是很了不起的。

    有人认同其简化语言和提升安全性的目标,但他觉得要在现有的语言中改进内存安全并不太容易,现有的C++特征和API很可能会约束这个新语言的发展。

    当然也有网友并不看好Carbon,认为谷歌有弃用创新软件的习惯,这个听起来很炸的项目可能会半途而废。

    还有人提出:Carbon这个用C++实现的语言居然想要替代C++?

    有网友觉得,现在Rust正在逐步成为低级程序语言,Carbon和Rust有不少相似之处,仅凭让C++迁移更容易并没有什么卖点。

    此外,Hacker News上还有网友想到了D语言(DLang)苹果短信误删了怎么恢复,这个语言和C++的互通性很不错。而且D语言也有Carbon的不少功能,包括和C++相互调用、减少额外的开销等。

    可惜由于D语言的初期定位不够清晰,一度试图涵盖Java和C++的功能,导致它比较小众。

    对这个号称C++继承者的Carbon,你怎么看?欢迎在评论区留言~

    传送门:苹果短信误删了怎么恢复https://github.com/carbon-language/carbon-lang参考链接:[1]https://devclass.com/2022/07/25/c-inventor-stroustrup-says-googles-carbon-too-new-and-under-specified-for-meaningful-technical-comment/[2]https://www.youtube.com/watch?v=omrY53kbVoA[3]https://news.ycombinator.com/item?id=32151609[4]https://www.reddit.com/r/programming/comments/w2thvo/carbon_an_experimental_c_successor_language/

    「人工智能」、「智能汽车」苹果短信误删了怎么恢复微信社群邀你加入!

    欢迎关注人工智能、智能汽车的小伙伴们加入我们,与AI从业者交流、切磋,不错过最新行业发展&技术进展。

    ps.加好友请务必备注您的姓名-公司-职位哦~

    点这里👇关注我,记得标星哦~

    量子位
    追踪人工智能新趋势,关注科技行业新突破
    2615篇原创内容
    公众号

    一键三连「分享」、「点赞」和「在看」

    科技前沿进展日日相见~

    支持Ctrl+Enter提交
    日收域名购买交易_日收站出售交易 © All Rights Reserved.  Copyright Your WebSite.Some Rights Reserved.
    Powered by 日收站出售 Themes by 日收域名出售