糟糕程序员的垃圾语言
”C++是一种糟糕的(horrible)语言。而且因为有大量不够标准的程序员在使用而使情况更糟,以至于极容易产生彻头彻尾的垃圾(total and utter crap)。老实说,选择C就是为了把C++程序员踢出去。……我有这样的结论,任何喜欢用C++而不是C开发项目的程序员可能都是我希望踢出去的人,免得他们来搞乱我参与的项目。C++会导致非常非常糟糕的设计选择。你们这些C++程序员总是一上来就用语言的那些‘漂亮的’库特性比如STL、Boost和其他彻头彻尾的垃圾,这可能对你们的程序有所‘帮助’,但是却会导致:
“——当库无法工作时无穷无尽的折磨(别跟我说什么STL尤其是Boost很稳定而且可移植性很好,那全是屁话,而且一点都不可笑)
"——低效的抽象编程模型,可能在两年之后你会注意到有些抽象效果不怎么样,但是所有代码已经依赖于围绕它设计的‘漂亮’对象模型了,如果不重写应用程序,就无法改正。
”如果你想用更花哨的语言,C++绝对是最糟糕的选择。如果想要真正的高级特性,那就选择有垃圾回收或者好的系统集成的,而不是既缺乏C的简约sparseness)又缺乏C的直接而且没有重要概念的高层绑定(high-level bindings to important concepts)的东西。
“一言以蔽之,C++正处在困境当中,它既无法帮助原型化或者简单的GUI编程足够简化从而真正可用,又不是C那样积极地鼓励你使用简单和直接的语言构造的精益系统编程语言。
--------
大师的话真是醍醐灌顶,怪不得我一直很鄙视C++,其实都懒得去学习。 C++的最大问题,在于把简单的问题搞复杂了。底层没有C直接简单,应用开发比不上C#和Java,尤其是在Java已死掉的情况下。C++又遭人鄙视,应用开发所剩的选择不多,C#可能是个比较好的选择。
BTW一句,说什么语言不重要的人,估计不爱写程序,或者不讲真话。或者在误导他人,谨慎选择你的主开发语言。从大师口中听,从市场趋势看。