文章来源:CSDN

Linux发明者Linus Torvalds又双叒叕开喷了!

Linus在计算机方面的天赋大家都知道的,22岁发明Linux,但是让他火遍全网的技能还得属嘴炮,众所周知的与 Minix 作者的内核架构之争,炮轰 C++,Fuck u nVidia 等。订阅 Linux 邮件列表你可能经常会看到 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 的“火爆”也是部分开发者的“心头好”吧!

参考链接:

https://developers.slashdot.org/story/21/04/17/009241/linus-torvalds-says-rust-closer-for-linux-kernel-development-calls-c-a-crap-language#comments

https://lwn.net/Articles/852758/

C++是一门很烂的语言?Linus Torvalds又双叒叕开喷了!相关推荐

  1. Linux之父炮轰:C++是一门很烂的语言,不会用其重写Linux内核

    Linux是一套免费使用和自由传播的操作系统,目前人们所熟知的安卓.统信UOS等都是基于该系统打造,诞生于1991年,由Linus Torvalds发布,他也被成为Linux之父. 近期,Linux之 ...

  2. python交互式编程入门先学什么_为什么 Python 对于编程入门学习来说,是一门很棒的语言...

    在这篇文章里,我会来阐述下为什么我觉得 Python 对于计算机编程入门教学来说是一门很棒的编程语言(对基础编程课程更多观点可以查看这篇文章).这也是从我针对初学者Python 编程教学过程中获得并总 ...

  3. fabric go sdk 依赖的安装_从这些角度看 Go 是一门很棒的语言

    点击上方蓝色"Go语言中文网"关注我们,领全套Go资料,每天学习 Go 语言 Go 当前引起了很多关注.让我们看一下 Go 好的部分. 我最近用 Go 写了一个 SSH 服务器[1 ...

  4. 【SQL必知必会】002-基础篇:了解SQL:一门半衰期很长的语言

    [SQL必知必会]002-基础篇:了解SQL:一门半衰期很长的语言 文章目录 [SQL必知必会]002-基础篇:了解SQL:一门半衰期很长的语言 一.概述 二.半衰期很长的 SQL 三.入门 SQL ...

  5. python真是最烂的语言_在大型项目上,Python 是个烂语言吗?

    展开全部 是存在的东西就不能用烂来形容,也许只是不对某些人的爱.e68a84e8a2ad3231313335323631343130323136353331333363396464 用 Boost 去 ...

  6. 能说明你的Javascript技术很烂的五个原因

    Javascript 在互联网上名声很臭,但你又很难再找到一个像它这样如此动态.如此被广泛使用.如此根植于我们的生活中的另外一种语言.它的低学习门槛让很多人都称它为学 前脚本语言,它另外一个让人嘲笑的 ...

  7. 【IT资讯】Linus Torvalds:我们都老了,但Linux维护真的很难找

    Linux 之父Linus Torvalds非常担忧没人继续维护内核:"真的很难找到维护者!" 在本周召开的Linux开源峰会与嵌入式大会上, VMware的首席开放源代码官Dir ...

  8. Java面试题 22 牛客 Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持

    Java面试题 22 牛客 Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:(          ) A Java反射主要涉及的类如C ...

  9. Linus Torvalds:我们都老了,但Linux维护者真的很难找

    Linux 之父Linus Torvalds非常担忧没人继续维护内核「真的很难找到维护者!」 在本周召开的Linux开源峰会与嵌入式大会上,  VMware的首席开放源代码官Dirk Hohndel和 ...

最新文章

  1. 06.Java虚拟机问题
  2. php设置东京时区,php设置时区方法介绍
  3. scala中_*的作用
  4. dom4j-2.1.1 jaxen-1.1.6 读取xml数据源
  5. 如何准备Java初级和高级技术的面试呢?
  6. Fiddler抓包 | 竟然有这些骚操作,太神奇了?
  7. layui 传递前端请求_Layui数据表格 前后端json数据接收的方法
  8. Zend Studio 实用快捷键一览表
  9. c语言变量生存期,C语言变量的生命周期
  10. 【maven】idea maven slf4j : StackOverflowError
  11. linux目录权限为rws,Linux-文件权限
  12. mysql的性能瓶颈_Mysql性能优化(一) - 性能检测与瓶颈分析
  13. 【ECLIPSE 二】eclipse java web 版本修改问题 3.0-2.5
  14. Python数据分析pandas入门练习题(七)
  15. 【第四篇】用 Qt 实现电子白板
  16. 如何写一个简单的时钟表盘(qt)
  17. 负数在计算机中表示方法
  18. 鸟哥Linux学习之——数据流重定向
  19. 数据库实验六 触发器实验
  20. 数字冰雹精华分享:真正的智慧城市数字孪生IOC

热门文章

  1. CentOS7+运行/停止Java后台程序,问题处理
  2. layui动态渲染上传文件功能点击选择文件没反应解决方案
  3. Android,找工作,月薪2万怎么做?
  4. Python三次样条插值
  5. 分析函数入门sum...over(partition by xxx order by yyy rows between zzz)
  6. 办理摄影测量与遥感乙级测绘资质条件和人员要求
  7. php源码 炸鸡网络验证系统源码/功能强大
  8. QQ浏览器将完整网页保存为PDF
  9. 基于扩展卡尔曼滤波的SOC估计(附MATLAB代码)
  10. uni-app入门并使用学习