高贵的愤怒

        今天看到的最“火爆”的新闻就是Linux之父Linus Torvalds和Dmitry争论c与c++的优劣,Torvalds认为c++太过繁复,被一堆特殊的语言机制和编译器补丁所压倒;而Dmitry却认为Torvalds是“旧语言时代的恐龙”,认为c语言太简陋而不能适应未来愈加复杂的软件开发。两边开始还只是技术性的讨论,后来就变得有些火药味了,但总算是平息了下来——Dmitry低姿态的结束了这场争论。
        我其实是个c++ fans,但是不知道为什么,我总觉得这件事上Torvalds更能说服我  :)
       也许我成为c++ fans只是因为跟java比,c++更像c一些。
        c++确实有那么一点“臃肿”,构造函数、析构函数、拷贝构造函数、多态、模板....可比c要啰嗦得多,不像c那么精瘦那么底层,和OS靠得那么近。即使有STL,Boost这样成熟的库,c++的开发依然是艰难的——只要想想当你编译c++模板出错时编译器报的那些天书一样的信息就明白了。我现在能看懂大部分模板编译错误的信息,但是我怎能奢求其他语言的开发者能适应并喜欢上这些错误提示呢?
       c++长成这样其实也是被迫的——如今的软件越来越庞大,越来越复杂,但对性能的要求却还在提高。如果用c开发像ACE这样的网络通信框架、如果用c来开发QT这样强大而通用的界面包,恐怕只有超级程序员才能完成,但你不能指望所有的程序员都是超人。所以尽管c++复杂,尽管c++难学难用,尽管在c程序员看来c++就像个怪胎、像个异形,但它长成异形何尝不是因为计算机行业的需要呢?
       我们羡慕Torvalds,他一直以来都用c在开发操作系统,一个人一生只用一种语言开发一类软件是何等的幸福,就好像你可以跟某个你爱的人厮守一样。也许正因为如此,Torvalds对其它语言毫无感觉——反正他也没必要用。相反别的程序员,尤其是国内的同志们却更喜欢吹嘘自己用过多少种语言....这是一种荣誉吗?不,这是一种悲哀,只是大家还没有认识到。如果从国内有计算机开始你就是个程序员,那你就要先学汇编和c语言,到了90年代初,系统软件在国内活不下去了,你又只能去学foxbase学basic学c++,但是数据库系统ERP系统也活不下去了,你只能又去学java学.net....我们原来做过如此多类型的软件,学过如此多类型的语言!为什么中国的程序员就需要这么“博学”,这么“心态开放”?那是因为中国的计算机行业说到底也不过是美国计算机行业的跟班,这个行业的原创力和推动力还是远在美利坚,我们就是在不停的气喘吁吁的跟在后面跑而已。
       Torvalds对c++的愤怒应该说其实是对软件行业浮躁之风的愤怒——大家只记得去追逐更方便更容易产生“产品”的快餐语言,而忘了去追求计算机科学更本质的东西——简约和求新。
        只不过这次他怒错了方向,c++成了刀下鬼,如果让Torvalds谈谈java谈谈.net谈谈脚本语言,他估计会疯掉的。


相关文章

分类

5 Comments

lee said:

动摇了我学perl的年头···

lee said:

竟然写错字了

DongHao Author Profile Page said:

呵呵,激愤之言,不可偏信。
学perl也是不错的 :)

谁知道呢 said:

Torvalds 有谈 Python 动态语言的,
说 C++ 既不 C 又不 Python

DongHao Author Profile Page said:

啊,可能我看漏了....好像他只是顺带说了下python,也没给予明确的褒贬

留言:

关于文章

This page contains a single entry by DongHao published on 09 10, 2007 9:05 PM.

1917年后的俄罗斯历史 was the previous entry in this blog.

矜持 is the next entry in this blog.

Find recent content on the main index or look in the 存档 to find all content.