查看原文
其他

C++之父评“替代品”Carbon:规范不足!

出品 | OSC开源社区(ID:oschina2013)
谷歌工程师 Chandler Carruth 此前在多伦多举办的 CppNorth 大会上宣布,正式开源谷歌内部打造的编程语言 Carbon,并号称 Carbon 是 C++ 的继任者(目前处于实验性阶段)。此举不可避免的在 C++ 社区中引发了很多讨论,同时也引来了 C++ 之父 Bjarne Stroustrup 的回应。
在被外媒问及 Carbon 的的可行性时,Bjarne 回答称:
“总是有新的语言试图成为 C++ 的继承者。我欢迎对编程语言和编程风格的实验,但并不真的想助长争议。批评已有的语言很容易 -- 我们知道它们的问题 -- 但通常很难在不造成语言规则、库和管理方面的全新问题的情况下提供替代品。Carbon 是如此之新,而且规范不足,我无法真正做出有意义的技术评论。
对于 Carruth 和 Carbon 团队声称的 C++ 语言演进过程中存在的缺陷,譬如:很慢、有时缺乏决断力、且主要集中在标准化而不是语言改进上;Bjarne 则未予置评。
不过 Carruth 也声称,Carbon 不是要当 C++ 的竞争对手。在会议上被问及 Carbon 将如何与未来改进的 C++ 版本竞争时,他的回答是:“我的目标不是竞争。我的目标是探索我们用 C++ 做不到的事情。”
而关于 “作为一种全新的编程语言,Carbon 为什么不从一开始就建立内存安全” 这一问题。Carruth 则表示,“不幸的是,C++ 是非常不安全的,所以我们的起点很低”。他指出,该项目优先考虑的是迁移而不是安全,但其目的是为了在以后改善内存安全。"从长远来看,我们希望至少和 Go 或 Swift 一样安全"。反观 Rust,虽然最初也标榜是 C++ 的继任者,但该语言可能永远无法实现与 C++ 的充分互操作性以实现顺利迁移。
针对 “为什么 Carbon 基于与 C++ 17 而不是 C++ 20 的互操作性”,Carruth 回答称,当时在他们使用的已发布的编译器中,C++20 还不够完善。但之后如果有一个很好的动机,他们可以考虑转换。
至于 Carbon 为什么叫 Carbon?Carbon 的维护者 Jon Ross-Perkins 则表示,“这只是一个以 C 开头的名称,除此之外没有更多的含义。”

相关链接:

  • https://devclass.com/2022/07/25/c-inventor-stroustrup-says-googles-carbon-too-new-and-under-specified-for-meaningful-technical-comment/

  • https://github.com/carbon-language/carbon-lang/issues/1587

  • https://github.com/carbon-language/carbon-lang/issues/1589


更多精彩



微软默默地给CURL捐赠一万美元,网友:财大气粗

AWS开源基于React的Web应用程序设计系统

社区纠纷不断:程序员何苦为难程序员



这里有最新开源资讯、软件更新、技术干货等内容
点这里 ↓↓↓ 记得 关注✔ 标星⭐ 哦~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存