关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

Linus Torvalds:“C++ 真是一门很烂的语言!”

发布时间:2021-04-21 13:32:39

他来了他来了!Linus 带着他的“暴脾气”又来了!

近来,Rust 进入 Linux 内核的决定已正式提上议程,上星期其内核开发者 Miguel Ojeda 提交了一份在 Linux 内核中增加 Rust 支撑的 RFC 引起热议。

关于这件事,许多人自然想知道 Linux 之父——Linus Torvalds 的观点,毕竟这是 Linux 这么多年以来,榜首非必须在其内核中参加除了 C 以外的第二门编程言语。因而外媒 IT Wire 就此问题采访了 Linus。

起先他还比较“矜持”,只是比较官方地回应说 Linux 内核对 Rust 的支撑还在前期阶段,比及 5.14 版本或许才会合并相关补丁。

但在知道有开发者以为“应该用 C++ 而不是 Rust”时,Linus 的“暴脾气”终于仍是藏不住了。

他大笑并讽刺道:“C++ 真是一门很烂的言语!”

十多年来,坚持站在炮轰 C++ 榜首线
如果说,Linus 对 Linux 的“爱”这三十年来从未变过,那他对 C++ 的“恨”也能够说是十几年如一日。

他早在 2007 年就开始炮轰 C++ 了。

彼时,有位名为 Dmitry Kakurin 的开发者查看了 Git 源代码发现运用的是纯 C 而非 C++ 后,他表明不行了解,所以发帖喷道:“别拿可移植性说事儿,这是瞎说(原句这里是 BS,即 bullshit)。”



好家伙,成果这句“BS”直接引爆了 Linus 的炸弹脾气。

向来以言辞尖锐著称、乃至曾对 Nvidia 比中指的 Linus 自然不避讳什么脏话粗话,因此他回怼的榜首句就“以其人之道还治其人之身”:“YOU are full of bullshit.”

报了“BS”的仇之后,Linus 接下来还把 C++ 批的一无是处:“C++ 是一门很糟糕的言语”、“许多不合格的程序员都在运用它”、“我要把喜爱用 C++ 而不是 C 来开发项目的程序员都踢出去,免得他们来搞乱我参加的项目”、“C++ 最后做出来的便是一堆可怕、难以维护的废物”…

自此,Linus 与 C++ 算是彻底杠上。

这还不算完,2010 年,Linus 又在邮件列表中接连发帖吐槽 C++。依他来看,C++ 真是一门很烂的言语。他表明,不管什么时候 C++ 都不或许是最正确的挑选:系统编程里直接用 C 就能够,而非系统编程里,最好挑选一种有废物收集的言语,但 C++ 的特性除了捣乱,基本无用。

他还嘲笑 C++ 的 new 关键字很蠢,以为“C++ 便是废物,根本没啥规划,只是在 C 上面加了些残余罢了。”

而这次采访是 Linus 时隔多年以来再次于公共场合对 C++ 进行炮轰。

再一次被骂“很烂”的 C++
这次引得 Linus 再次炮轰 C++ 的是 Linux Weekly News 网站上网友 @mss 的一条谈论:

处理方案很简单:用 C++ 替代 Rust。

当代码调用不安全函数时,Rust 的内存安全就得不到确保了,而目前几乎一切内核 API 都在其中。不过,你也能够轻松地运用 C++ 进行此类手动符号。



原本呢,每个人都有讲话权力,尤其在现在的互联网年代,网友讲话更加随心随性,哪种编程言语更好也自然是“仁者见仁,智者见智”。

可这对 Linus 来说可就不同了。他一向视 C++ 为“废物”、以为它“无用”,成果居然有人以为他们精心挑选能够进入 Linux 内核的 Rust 还比不上 C++?

因此听到这个谈论的 Linus 没控制住嘲笑出声,他鄙夷说道:“C++ 根本处理不了 C 言语的问题,它只会让工作变得更糟。这真是一门很烂的言语。”

他以为,那些不喜爱 C 言语的人能够去寻觅真实能给你带来价值的言语。比方具有内存安全性并能够避免 C 导致的风险的言语,或者具有内部 GC(废物回收)支撑并简化内存管理的言语。而这个言语明显不是 C++,因为在 Linus 看来,C++ 处理的都是过错的问题,因而那些说“用 C++ 重写内核”的人都太无知了。

与 C++ 相比,Linus 挑选无条件站在 C 这一边。“当人们谈到由 C 导致的风险时,也谈到了 C 如此强大的部分原因:‘它答应你高效地实现一切这些初级的东西’。”Linus 提到。此外,尽管大多数情况下 GC 关于简化编程而言都是一件挺好的事,可是它通常不是你在初级系统编程中所能做的工作。

网友:C++ 不是废物
信任我们经常能够在网上看到许多人争论有关“最佳编程言语”的话题,但随着时间的推移,越来越多新式编程言语的兴起,大多数的人都认识到了一个现实:每种编程言语都有本身局限性,也具有其最拿手的用武之地。

因此这次 Linus 把 C++ 骂得“一无是处”引来许多开发者的抗议。

网友@ Chuck Messenger :

C++ 的巨大之处在于它“便是 C”。你能用 C 言语做一些 C++ 做不到的工作吗?据我所知没有。在每次新的迭代中,C++ 都供给了对笼统的改善支撑,

我对 Rust 很感兴趣,也有或许向它迁移。可是,C++ 在任何意义上都不是“废物”。



网友@stikves:

他说 C++ 不适合 Linux 内核或许是对的。不过关于 C++ 这个言语…我们都知道他的观点一向比较强烈吧。

当然,C++ 也适用于其他操作系统,比方 Windows、Mac OS,乃至Android。所以这都取决于不同的项目。



这次 Linus 又把 C++ 程序员开罪了一通,不过这么多年来他的“暴脾气”也没怎么改,或许就跟编程言语一样,Linus 的“火爆”也是部分开发者的“心头好”吧!

/template/Home/News/PC/Static
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?3055b648e71c7d34d18c96db95a87337"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();
客服中心
点击二维码下边按钮可通过微信联系客服进行沟通
QICQ支持
处理:机器咨询,产品优惠,售后处理服务器状态异常等,10分钟内响应
微信支持
工单服务
提交工单:在线工单入口
工单处理:网络延时,机器状态异常,网站备案等,10分钟内响应
投诉/合作
滥用举报:abuse@wuyouyun.com
商务合作:business@wuyouyun.com
服务投诉:微信处理入口
处理:投诉,建议,代理,大客户,我们会全力以赴满足您的服务请求