关于linux:Linus-时隔十一年再次抨击-C-糟糕透顶毫无用处

280次阅读

共计 2276 个字符,预计需要花费 6 分钟才能阅读完成。

他来了他来了!Linus 带着他对 C++ 的半永恒有色眼镜又来了!

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

对于这件事,许多吃瓜大众都想晓得 Linux 之父——Linus Torvalds 的认识,毕竟这是这么多年以来,Linux 第一次要在其内核中退出 C 语言以外的第二门编程语言。

因而外媒 IT Wire 就此问题采访了 Linux。

一开始 Linux 的回复还比拟宛转,他给出的官网回答是:

“Linux 内核对 Rust 的反对还在晚期阶段,要等到 5.14 版本可能才会合并相干补丁。”

但当他晓得了有开发者认为“应该用 C++ 来代替 Rust”时,Linux 再也宛转不了了,他急了!

他大笑并讥刺道:C++ 就是一门糟糕透顶的语言!

十几年间保持鞭挞 C++ 如一日

有人说,Linus 对 Linux 的“爱”这三十年来从未变过。同理,他对 C++ 的“恨”也能够说是十几年如一日。

Linus 最早对 C++ 的批评能够追溯到 2007 年。

那个时候,有位名为 Dmitry Kakurin 的开发者在查看了 Git 源代码并发现其应用的是纯 C 而非 C++ 后,他示意不可理喻,于是发帖喷道:

“别说什么可移植性,这纯正是瞎扯”(留神原句中说的是 BS,也就是 bullshit)

为什么要把这部分单拎进去说呢,因为这句“BS”彻底戳到了 Linus 的痛点。

大家要晓得,Linus 向来以言辞犀利著称,甚至曾在公开场合对 Nvidia 竖中指,这样的 Linus 必定不会在愤恨的时候在乎他的语言是否文化,于是他开喷了:

YOU are full of bullshit.”

只管曾经用“BS“回怼了,但 Linus 仍不解气,他开始把喜气转移到 C++ 上,炮轰 C++ 是一门很蹩脚的语言,并且连带炮轰了应用 C++ 的程序员,他称大部分应用 C++ 的程序员都是不合格的,还扬言要把喜爱用 C++ 来代替 C 来开发我的项目的程序员都踢出去,免得他们搞乱本人的我的项目。

最初他还带上了应用 C++ 发明出的产品,他婉言 C++ 最初做进去的就是一堆可怕还难以保护的垃圾。

从此,Linus 誓与 C++ 水火不容。

故事到这里还没有完结。

2010 年,Linus 又在邮件列表中接连发帖吐槽 C++。依他之见,C++ 蹩脚透了。他示意, 无论什么时候 C++ 都不可能是最正确的抉择 ,在零碎编程里间接用 C 就能够,而在非零碎编程里,有很多垃圾收集的语言可供选择,而 C++ 只能用来捣鬼。

他还讥笑 C++ 的 new 关键字很蠢,认为 C++ 就是废物,基本没有设计可言,只是在 C 下面加了些垃圾而已。”

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

C++ 第 n 次被骂“很烂”

这次让 Linus 炮轰 C++ 的导火索是一条评论,这位 id 为 mss 的网友在 Linux Weekly News 网站上评论:

“解决方案很简略:用 C++ 代替 Rust。”

当代码调用不平安函数时,Rust 的内存平安就得不到保障了,而目前简直所有内核 API 都在其中。不过,你也能够轻松地应用 C++ 进行此类手动标记。

直白地说,每个人都有收回本人的声音的权力,也有抉择的权力, 毕竟一千个人眼里就有一千个哈姆雷特。

但在 Linus 眼里这可不仅是一条简略的评论,C++ 在他眼里是最蹩脚的存在,而 Rust 却是他们精心筛选的能够进入 Linux 内核的语言,其本质齐全不可一概而论。

因而听到这个评论的 Linus 没管制住嗤笑出声,他鄙夷说道:“C++ 基本解决不了 C 语言的问题,它只会让事件变得越来越糟。它真的是一门很烂的语言。

他认为,那些不喜爱 C 语言的人能够去寻找真正能给你带来价值的语言。比方具备内存安全性并能够防止 C 导致的隐患的语言,或者具备外部 GC(垃圾回收)反对并简化内存治理的语言。

简略点说,他容许他人不喜爱 C 语言,但前提是不能用 C++ 来代替,在 Linus 的眼里,C++ 不可能解决问题,所以喜爱用 C++ 的人都是无知的。

Linus 也给出了他无条件站在 C 这一边的起因:

“当人们谈到由 C 导致的危险时,也谈到了 C 如此弱小的局部起因:’ 它容许你高效地实现所有这些低级的货色 ’。”

另外,只管大多数状况下 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.o…

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

正文完
 0