| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1015 人关注过本帖
标题:Linux之父炮轰C++
取消只看楼主 加入收藏
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
结帖率:100%
收藏
 问题点数:0 回复次数:3 
Linux之父炮轰C++

http://blog.csdn.net/turingbook/archive/2007/09/07/1775488.aspx

Linux之父Linus Torvalds为了Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。昨天,有一位Dmitry Kakurin老兄在查看了源代码之后,发现使用的是纯C而非C++,表示不可理解,他直言:“别拿可移植性说事儿,这是屁话(BS,bullshit)。“(此外,他还批评Git蛮力地直接操作文本,既啰嗦又易错,而且很难跟上高层代码逻辑。)


这个BS引起了Torvalds的强烈反应,他用“*YOU* are full of bullshit.“(你才满嘴屁话呢)作为自己反驳的开场白。接着,他先转向了对C++的罕见的火药味十足的炮轰:
”C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极容易产生彻头彻尾的垃圾(total and utter crap)。老实说,选择C就是为了把C++程序员踢出去。……我有这样的结论,任何喜欢用C++而不是C开发项目的程序员可能都是我希望踢出去的人,免得他们来搞乱我参与的项目。C++会导致非常非常糟糕的设计选择。你们这些C++程序员总是一上来就用语言的那些‘漂亮的’库特性比如STL、Boost和其他彻头彻尾的垃圾,这可能对你们的程序有所‘帮助’,但是却会导致:
“——当库无法工作时无穷无尽的折磨(别跟我说什么STL尤其是Boost很稳定而且可移植性很好,那全是屁话,而且一点都不可笑)
"——低效的抽象编程模型,可能在两年之后你会注意到有些抽象效果不怎么样,但是所有代码已经依赖于围绕它设计的‘漂亮’对象模型了,如果不重写应用程序,就无法改正。

”也就是说,使用优秀的、高效的、系统级的和可移植的C++的唯一方式,最终还是限于使用C本身具有的所有特性。项目限制只用C,意味着参与的人不会捣乱,也意味着会得到许多真正懂得底层问题,而不会折腾那些白痴‘对象模型’垃圾的程序员。

"所以,我很抱歉,但是对于Git这样效率是主要目标的软件,C++的所谓优点只是巨大的错误。而我们将看不到这一点的人排除在外却成了一个巨大的附加优势。

"如果你想要用C++写的版本控制系统,去玩Monotone吧。他们确实使用了‘真格的数据库’,使用了‘漂亮的面向对象库’、使用了‘漂亮的C++抽象’。可是说老实话,所有这些对某些计算机专业人士而言富于吸引力的设计决定,其最终结果确是一堆可怕、难以维护的垃圾。




我本来想发到IT信息区的,结果不能发帖子,只好发到这里来了

看完这片文章以后,我有一个感想:本是同根生,相煎何太急

搜索更多相关主题的帖子: Linux 
2007-09-08 07:48
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用千里冰封在2007-9-8 9:22:25的发言:

不错不错

++是面向对象程序设计之母

如果否定了++,那相当于否定了所有面向对象程序设计

这个将引发IT界的巨大震动,知道不?

现在流行的所有编程语言:java,basic,#,ASP,PHP等等就如同废纸一样被抛弃

你还说“不错不错”?

[此贴子已经被作者于2007-9-8 9:56:34编辑过]


自我放逐。。。
2007-09-08 09:55
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用千里冰封在2007-9-8 12:16:04的发言:
C++说他面向对象,JAVA就笑了

java说我面向对象,C++笑了:小样,还不是学我的?!


自我放逐。。。
2007-09-08 12:43
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
以下是引用百年不亮在2007-9-8 20:56:55的发言:
C++在linux中得地位很尴尬,多数软件用C,还有些用JAVA,用C++得好像比较少。

我不知道kernel部分怎么样

虽然看不懂(起码类我还是认识的),但是我知道外壳部分基本都是++代码(我有linux源代码,fedora 6 和 7 )


自我放逐。。。
2007-09-08 21:02
快速回复:Linux之父炮轰C++
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041270 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved