0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linus讽刺:C++真是一门很烂的语言

Linux爱好者 来源:CSDN 作者:CSDN 2021-04-25 14:22 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

他来了他来了!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)。”

0ee36ce4-a534-11eb-aece-12bb97331649.png

好家伙,结果这句“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++ 在任何意义上都不是“垃圾”。

0f1e0b6a-a534-11eb-aece-12bb97331649.png

网友@stikves:

他说 C++ 不适合 Linux 内核可能是对的。不过对于 C++ 这个语言。..。..大家都知道他的看法一直比较强烈吧。

当然,C++ 也适用于其他操作系统,比如 Windows、Mac OS,甚至Android。所以这都取决于不同的项目。

0f684bda-a534-11eb-aece-12bb97331649.png

这次 Linus 又把 C++ 程序员得罪了一通,不过这么多年来他的“暴脾气”也没怎么改,或许就跟编程语言一样,Linus 的“火爆”也是部分开发者的“心头好”吧!

原文标题:Linus 再次吐槽“C++ 真是一门很烂的语言”

文章出处:【微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程
    +关注

    关注

    90

    文章

    3707

    浏览量

    96759
  • C++
    C++
    +关注

    关注

    22

    文章

    2122

    浏览量

    76706

原文标题:Linus 再次吐槽“C++ 真是一门很烂的语言”

文章出处:【微信号:LinuxHub,微信公众号:Linux爱好者】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    C++程序异常的处理机制

    1、什么是异常处理? 有经验的朋友应该知道,在正常的CC++编程过程中难免会碰到程序不按照原本设计运行的情况。 最常见的有除法分母为零,数组越界,内存分配失效、打开相应文件失败等等。 个程序
    发表于 12-02 07:12

    C语言特性

    1、高效性:直接操作硬件 C 语言代码的执行效率极高,这是其最为显著的优势之。它能够直接访问硬件资源,与底层硬件进行紧密交互,充分发挥硬件的性能潜力。在嵌入式开发中,硬件资源往往十分有限,对程序
    发表于 11-24 07:01

    C语言和单片机C语言有什么差异

    有些扩展,及些特殊写法如C51扩展的 data xdata bit sbit类的,还有些中断程序写法 void int() interrput 1
    发表于 11-14 07:55

    技能+1!如何在树莓派上使用C++控制GPIO?

    在使用树莓派时,你会发现Python和Scratch是许多任务(包括GPIO编程)中最常用的编程语言。但你知道吗,你也可以使用C++进行GPIO编程,而且这样做还有不少好处。借助WiringPi
    的头像 发表于 08-06 15:33 3573次阅读
    技能+1!如何在树莓派上使用<b class='flag-5'>C++</b>控制GPIO?

    C++ 与 Python:树莓派上哪种语言更优?

    Python是树莓派上的首选编程语言,我们的大部分教程都使用它。然而,C++在物联网项目中同样广受欢迎且功能强大。那么,在树莓派项目中选择哪种语言更合适呢?Python因其简洁性、丰富的库和资源而被
    的头像 发表于 07-24 15:32 642次阅读
    <b class='flag-5'>C++</b> 与 Python:树莓派上哪种<b class='flag-5'>语言</b>更优?

    基于LockAI视觉识别模块:C++目标检测

    本文档基于瑞芯微RV1106的LockAI凌智视觉识别模块,通过C++语言做的目标检测实验。本文档展示了如何使用lockzhiner_vision_module::PaddleDet类进行目标检测,并通过lockzhiner_vision_module::Visualiz
    的头像 发表于 06-06 13:56 606次阅读
    基于LockAI视觉识别模块:<b class='flag-5'>C++</b>目标检测

    主流的 MCU 开发语言为什么是 C 而不是 C++

    在单片机的地界儿里,C语言稳坐中军帐,C++想分杯羹?难喽。咱电子工程师天天跟那针尖大的内存空间较劲,C++那些花里胡哨的玩意儿,在这儿真玩不转。先说内存这道坎儿。您当stm32f4的
    的头像 发表于 05-21 10:33 778次阅读
    主流的 MCU 开发<b class='flag-5'>语言</b>为什么是 <b class='flag-5'>C</b> 而不是 <b class='flag-5'>C++</b>?

    C++学到什么程度可以找工作?

    C++学到什么程度可以找工作?要使用C++找到工作,特别是作为软件开发人员或相关职位,通常需要掌握以下几个方面: 1. **语言基础**:你需要对C++的核心概念有扎实的理解,包括但不
    发表于 03-13 10:19

    源代码加密、源代码防泄漏c/c++与git服务器开发环境

    源代码加密对于很多研发性单位来说是至关重要的,当然每家企业的业务需求不同所用的开发环境及开发语言也不尽相同,今天主要来讲c++及git开发环境的源代码防泄密保护方案。企业源代码泄密场景
    的头像 发表于 02-12 15:26 873次阅读
    源代码加密、源代码防泄漏<b class='flag-5'>c</b>/<b class='flag-5'>c++</b>与git服务器开发环境

    基于OpenHarmony标准系统的C++公共基础类库案例:ThreadPoll

    。每个线程每秒打印1段字符串,10秒后停止。2、基础知识C++公共基础类库为标准系统提供了些常用的C++开发工具类,包括:文件、路径、字符串相关操作的能力增强接口
    的头像 发表于 02-10 18:09 597次阅读
    基于OpenHarmony标准系统的<b class='flag-5'>C++</b>公共基础类库案例:ThreadPoll

    Spire.XLS for C++组件说明

    Spire.XLS for C++款专业的 C++ Excel 组件,可以用在各种 C++ 框架和应用程序中。Spire.XLS for C+
    的头像 发表于 01-14 09:40 1296次阅读
    Spire.XLS for <b class='flag-5'>C++</b>组件说明

    EE-112:模拟C++中的类实现

    电子发烧友网站提供《EE-112:模拟C++中的类实现.pdf》资料免费下载
    发表于 01-03 15:15 0次下载
    EE-112:模拟<b class='flag-5'>C++</b>中的类实现

    AKI跨语言调用库神助攻C/C++代码迁移至HarmonyOS NEXT

    /C++代码快速迁移至HarmonyOS NEXT。凭借卓越的兼容性,AKI已成为厂商与开发者打造鸿蒙原生应用过程中广泛使用的跨语言调用解决方案。 AKI是款专为鸿蒙原生开发设计的FFI(外部函数接口
    发表于 01-02 17:08

    Triton编译器支持的编程语言

    编写和优化深度学习代码。Python是种广泛使用的高级编程语言,具有简洁易读、易于上手、库丰富等特点,非常适合用于深度学习应用的开发。 二、领域特定语言(DSL) Triton也提供了
    的头像 发表于 12-24 17:33 1454次阅读

    深入理解C语言:循环语句的应用与优化技巧

    在程序设计中,我们常常需要重复执行某段代码。为了提高效率和简化代码,循环语句应运而生。C语言作为一门经典的编程语言,提供了多种循环控制结构
    的头像 发表于 12-07 01:11 1065次阅读
    深入理解<b class='flag-5'>C</b><b class='flag-5'>语言</b>:循环语句的应用与优化技巧