【ACCESS精品源码栏目提醒】:网学会员为需要ACCESS精品源码的朋友们搜集整理了Linux之父炮轰C++:糟糕程序员的垃圾语言(1) - 计算机教材相关资料,希望对各位网友有所帮助!
Linux之父Linus Torvalds为了Linux内核开发而专门打造的版本控制软件Git已经引起了业界的广泛关注。
昨天有一位Dmitry Kakurin老兄在查看了源代码之后发现使用的是纯C而非C表示不可理解他直言“别拿可移植性说事儿这是屁话BSbullshit。
“此外他还批评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抽象’。
可是说老实话所有这些对某些计算机专业人士而言富于吸引力的设计决定其最终结果确是一堆可怕、难以维护的垃圾。
” -------------------------------------------------------------------------------- 【070907更新】Torvalds和Dmitry Kakurin争论继续中。
对Torvalds的回击Dmitry反唇相讥 “随着只用C编程的恐龙们逐渐灭绝你很快就会发现只剩下自己一个人在固执己见。
用Git贡献者的数量是说明不了问题的。