Linus Torvalds 想必大家并不陌生,不仅因为 Linux 之父的身份被人熟知,更是以火爆的脾气屡受争议,尤其是他在 2015 年曾对 NVIDIA 爆粗口、竖中指的行为简直是“一战成名”。本月, Linus 又炮轰GitHub,称“看看你们的merge机制,只会产生垃圾”!(详情链接:Linux 之父再开炮:“GitHub 创建了完全没用的垃圾合并!”
近日,有网友在 GitHub 上按咆哮量的分类及排序总结了从 2012 年到 2015 年 Linus 的炮轰集锦,引来不少网友的追更围观!
像个男人承认错误吧,不是GCC的问题,是你的!
在该项目中,“停止这种愚蠢的‘归咎于 GCC 错误’的废话。”以 0.92 的咆哮量位居第一。开发人员把有bug的代码经GCC编译后直接上线,却不承认自己的代码有问题,而把错误归咎于GCC,Linus怒批:像个男人站起来吧,这不是编译器的错误,而是你的错误。
GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言编译工具,最开始只能处理 C 语言,后被扩展到能支持其他编程语言,包括 C++,Objective-C,Fortran,Java,Ada 和 GO 语言前端。它已经在许多类 Unix 操作系统中占主导地位(和默认值),如 Linux,这意味着 Linus Torvalds 非常熟悉它——不管它是好还是坏。
(译:停止这种愚蠢的“怪罪gcc错误”的废话)
此外,2014 年,Linux 曾评价 GCC:“老天爷,那个 GCC 4.9.0 编译器不应该被允许从幼儿园毕业。”
英语中已经没有词汇表达我对这些废话的厌恶和失望
Linus批评开发者把未经编译跟测试的代码标记为稳定状态,在喷别人的 pull request 时,连芬兰语都来了......以 0.81 的咆哮量位居第二。
译:无论脑子多么有问题,要知道在x86下,gate_desc声明成32位跟64位都是天壤之别。天啊,这个pull简直就是胡说八道,竟然会被标记为稳定?英语中已经没有足够的脏话来表达我的厌恶了,所以我不得不叫你 perkeleen vittupää 。
下次我会直接忽略你发的垃圾,懂?
以 0.70 的咆哮量位居第三的是:你要行动起来,对你应该管理的人施加压力。我只给出一个警告。
译:我只警告一次,下次我会直接忽略你发的垃圾,懂?
谁会干这种蠢事?
排在第四位的是:无论谁是天才,如果他认为一次读取一个该死的字节并对每个字节进行系统调用是个好主意,都应该追溯中止。
译:谁会干这种傻事?他们可能太蠢了,是怎么在婴儿时期活下来的?
“C++ 真是一门很烂的语言!”
如果说,Linus 对 Linux 的“爱”在这三十年间从未变过,那他对 C++ 的“恨”也可以说是十几年如一日。他早在 2007 年就开始炮轰 C++ 了。
彼时,有位名为 Dmitry Kakurin 的开发者查看了 Git 源代码发现使用的是纯 C 而非 C++ 后,他表示不可理解,于是发帖喷道:“别拿可移植性说事儿,这是胡扯(原句这里是 BS,即 bullshit)。”
好家伙,结果这句“BS”直接引爆了 Linus 的炸弹脾气。
再后来,Linux Weekly News 网站上网友 @mss 的一条评论:
解决方案很简单:用 C++ 代替 Rust。
当代码调用不安全函数时,Rust 的内存安全就得不到保证了,而目前几乎所有内核 API 都在其中。不过,你也可以轻松地使用 C++ 进行此类手动标记。
Linus 一直视 C++ 为“废物”、认为它“无用”,结果居然有人认为他们精心挑选可以进入 Linux 内核的 Rust 还比不上 C++?
听到这个评论的 Linus 没控制住嗤笑出声,他鄙夷说道:“C++ 根本解决不了 C 语言的问题,它只会让事情变得更糟。这真是一门很烂的语言。”
参考链接:
Linus Torvalds:“C++ 真是一门很烂的语言!”
https://github.com/corollari/linusrants