为什么Linux之父那么讨厌C++ 他骂的这几点,句句扎心
文章标签:
linux c函数
2025年了,搞内核开发的还在为语言选择吵翻天。
Linux之父Linus Torvalds二十多年前一句“C++写内核是血蠢主意”,至今让C++在核心领域抬不起头。
要我说,老爷子当年骂得真没毛病。
内核开发最怕啥?
性能波动和不可控因素。
C++那些花里胡哨的特性看着高级,实际是定时炸弹。
构造函数隐式调用、异常处理突然跳转,在需要毫米级精准的内核里就是灾难。
92年那会儿C++连标准都没有,现在2025年了,模板元编程搞得像天书,编译速度慢得能泡杯茶。
内核工程师调试时对着十几层模板报错想骂娘的样子,我隔着屏幕都感受到了。
鸿蒙用C++开发总被拿来当反例。
但仔细想想,人家搞的是带图形界面的全场景系统,跟裸跑在硬件上的Linux内核根本两码事。
就像不能因为菜刀切肉顺手,就非要用它做开颅手术。
C++在应用层确实能打,可到了内核这种连内存分配都要自己撸袖子的地方,多一个虚函数指针都是负担。
真当Linus团队是傻子?
GCC编译器早用C++重构了,可人家内核代码照旧用C写得飞起。
最讽刺的是那些吹C++性能的。
标准库sort比C的qsort快不假,可你见哪个内核模块敢用STL?
到头来还是手搓轮子。
至于谷歌大佬吐槽Linus“不懂C++”,纯属站着说话不腰疼——搜索引擎崩了顶多丢点广告费,内核崩了直接全球机房集体扑街。
说到底,不是C++不行,是它那些“高级特性”在刀尖起舞的内核场域里,全是华而不实的累赘。
技术选型终究得看场景。
二十三年了,Linux用C语言撑起全球70%服务器的事实足以说明:在追求极致稳定性的战场,少即是多。
让C++继续在应用层发光发热吧,至于内核?
省省那些炫技的玩意儿,踏实比啥都强。
顺便问句,C++委员会啥时候能把编译速度整利索?
连个靠谱的包管理都整不明白。