之前我们提到过Rust进入Linux内核的决定已经提上议程,上周内核开发者Miguel Ojeda提交了一份在Linux内核中添加Rust支持的RFC引起热议。
对此大家都很关注Linux之父—Linus Torvalds的看法,原因有两个。第一是因为要在其内核中添加除了C语言之外的第二门语言,第二是因为在2007年Linus就炮轰过C++。
回顾一下十几年前的事情
曾经有一位开发者查看了Git源码发现使用的是纯C语言之后表示不能理解,于是发帖说:“别拿可移植性说事,这是胡扯”。
这一句“BS”指的是bullshit,直接引爆了Linus的暴脾气,回怼了一句“YOUare full of bullshit.”
这还没有发泄完,Linus接下来把C++sun的一无是处,说C++是一门很糟糕的语言。还说很多不合格的程序员都在使用它。甚至说“我要把喜欢用C++的程序员都踢出去,免得他们来搞乱我的项目”,“C++最后做出来的就是一堆可怕,难以维护的垃圾”。
从此Linus是和C++彻底刚上了。
2010年的时候Linus再次在邮件列表中发帖吐槽C++,依旧表示C++是一门很烂的语言。说不管什么时候C++都不能是最正确的选择。编程系统里面直接用C就可以,而非系统编程里,最好选择一种有垃圾收集的语言,但C++的特性出了捣乱,基本没有用。还嘲笑C++的new关键字很蠢,认为C++就是废物,没有什么设计,只是在C上面加了一些渣滓而已。
就此问题采访Linus
对于Rust进入Linux内核的事情,外媒采访了Linus。开始的时候Linus还比较委婉的说Linux内核对Rust的支持还在早期阶段,等到5.14版本可能才会合并相关的补丁。但是知道有的开发者认为应该用C++而不是Rust的时候,Linus再次爆发。
大笑并嘲讽:“C++真是一门很烂的语言”。
引战贴源于:
当代码调用不安全函数的时候,Rust的内存安全就不能保障了,而且目前几乎所有内核API都在其中。不过你也可以轻松的使用C++进行此类手动标记。
Linus听到这个评论的时候没有忍住嘲笑起来,还说:C++根本解决不了C语言的问题,它只会让事情变得更糟糕。
他以为那些不喜欢C语言的可以找真正可以给你带来价值的语言。比如具有内存安全性可以避免C导致隐患的语言。或者具有内部DC支持并简化内存管理的语言。但是这个语言绝对不是C++,因为在Linus来看,C++解决的都是错误问题。所以那些用C++重写内核的人都非常的无知。
网友的观点
@ Chuck Messenger :
C++ 的伟大之处在于它“就是 C”。你能用 C 语言做一些 C++ 做不到的事情吗?据我所知没有。在每次新的迭代中,C++ 都提供了对抽象的改进支持,我对 Rust 很感兴趣,也有可能向它迁移。但是,C++ 在任何意义上都不是“垃圾”。
@stikves:
他说 C++ 不适合 Linux 内核可能是对的。不过对于 C++ 这个语言…大家都知道他的看法一直比较强烈吧。当然,C++ 也适用于其他操作系统,比如 Windows、Mac OS,甚至Android。所以这都取决于不同的项目。
在编程论坛还有一个有意思的帖子,一个大学生表示:C++语言不过是披着高级语言外衣的汇编语言,根本不是真正的面向对象。而且语言特性很少,连字符串需都需要依赖库来实现。
对此,你对C++怎么看呢?欢迎留下你的评论。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.