他来了他来了!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 的“火爆”也是部分开发者的“心头好”吧!
原文标题:linus 再次吐槽“c++ 真是一门很烂的语言”
文章出处:【微信公众号:linux爱好者】欢迎添加关注!文章转载请注明出处。
干货:电力变压器的过热故障及预防措施
稳压二极管选型和应用介绍
电源驱动IC AP5151 线性降压恒流驱动芯片
关于机器视觉应用的7大趋势
华为Mate 20 X 5G已经上架苏宁易购并开启了0元预约活动
Linus讽刺:C++真是一门很烂的语言
PCB布局需要遵守的10个规则
VL163 QFN28 USB—C Gen2Switch芯片
HMI设计工具—CGI Studio 3.11介绍
比亚迪半导体全新推出1200V 1040A SiC功率模块
特斯拉的美国超级工厂制造四辆特斯拉电动卡车
oppor9s好不好?oppor9s全面评测
安波福收购计划完成,未来更注重自动驾驶领域的投资和发展
鲲鹏920:业界性能最高的基于ARM的CPU
车载语音识别数据的社会影响与未来展望
灵犀微光实现产学研一体化 联合推动AR产业发展
为了获得更多技术专利 华为在国外悄悄地干了件大事
关于AGV地标读卡器和RFID设备中的一些应用小知识
Python pacp模块:自动识别文字中的省市区并将其绘图
提高经济效益不是梦—高线生产线上的线材测径仪