C++ 之父 Stroustrup 评论 Carbon :Too young Too Simple
导读:Google上周推出的Carbon项目在 C++ 社区中引发了众多热议,包括 C++ 发明者 Bjarne Stroustrup 今天也发表自己的看法。
Google 工程师认为 C++ 继任者的编程语言之间存在差距(来源 C++ North)
Carbon 项目目前由 Google 软件工程师 Chandler Carruth 主持研发。
他在 C++ North 会议上的主题演讲上宣布,Carbon项目由顾问 Kate Gregory 和 Google 的 Richard Smith 共同领导。
这件事也惊动了 C++之父、发明人Bjarne Stroustrup。他从 1978 年开始开发 C++。2014年1月起,他在位于纽约的摩根史丹利技术部门担任董事总经理(Managing Director),并在哥伦比亚大学信息技术与科学系担任客座教授。
图源:摩根斯坦利,Bjarne是这家VC机构的董事总经理
Bjarne Stroustrup 针对 Carbon 语言以及是否有用,提出了自己的看法:
“总有新语言试图成为 C++ 的继任者。我欢迎对编程语言和风格进行实验,但我并不想引发争议。批评已创建的语言很容易,因为我们知道它们的问题,但通常很难在不产生语言规则、库和治理方面的全新问题情况下提供替代方案。Carbon 太年轻了,并且缺乏规范,我现在还无法做出真正有意义的技术性评论,”
Stroustrup也并未回答关于 Carruth 和 Carbon 声称的 C++ 进化过程中的缺陷发表评论,尤其是C++的速度缓慢,有时他本人也优柔寡断,喜欢关注语言标准化而不是语言本身改进等批评。
Carbon 项目计划遵循以 Kubernetes 为模式的开源语言模型。
值得留意的是,Carruth 的团队并不定义自己是 C++ 的竞争对手。Carruth 在 C++ North 被问及 Carbon 将如何与 C++ 的未来改进版本竞争,他坦言说:“我的目标不是与C++竞争。我的目标是探索用 C++ 做不到的事情。”
目前,可以说是Carbon 项目的早期阶段,但是一个比较显而易见的问题是,为什么一种新编程语言从一开始就没有设计内存的安全性。
“不太幸运的是,C++ 非常不安全,”Carruth 在 C++ North 会议上被问到这个问题时,做了如此回答。
“所以我们的起点定的很低。” Carruth 继续解释说,Carbon 项目将迁移能力优先于安全性,但其目标是在以后进一步提高内存安全性。
“从长远来看,我们希望Carbon 至少与 Go 或 Swift 一样安全,” Carruth 说,Rust 来自另一个节点,但它可能永远不能与 C++ 实现足够的互操作性,实现系统平滑迁移。
开发者们还有一个问题,就为什么 Carbon 基于 C++ 17 而不是 C++ 20 的互操作。
Carruth在 GitHub 上这样回复:“当时的情况,C++20 在我们用的发布编译器中还非常不完善。如果有合适的机会,我们会考虑转换到C++20上”。
那么为什么这个语言的起名叫Carbon?
“它只是一个以 C 开头的名字。除此之外没有什么提供的了,”
Google的 Carbon 团队维护者 Jon Ross-Perkins 在 GitHub 如此坦诚说道。
作者:场长
相关阅读: