孟岩

孟岩ID:myan
[修改头像]
1560274次访问,排名6好友1人,关注者32
总是在思考存在的问题
myan的文章
原创 146 篇
翻译 0 篇
转载 3 篇
评论 5202 篇
最近评论
zfbp:现在成都的状况比较稳定了,已经有很多企业开始上班了。汶川、都江堰还是比较恼火。
jieao111:Kevin在成都啊,,以前记得在c/c++版抢过一同分,,bless!
YuLimin:我当时也在成都,大家都来尽一份力量吧!!!
sxbluebird:我老家后山有棵老苹果树很时尚,谁能看见?我公司桌面上有台PC很时尚,公交车上哪个mm会暗送给我秋天的菠菜?


这个话,说的太经典了。 人人都能懂, 这才是哲理。
Terry001:成都地震发生的时候,我正在午睡,我一般睡的会很死,房子把我摇晃醒了,太恐怖了,结果没穿衣服就冲下了楼,搞的甚是狼狈,从来没想到此生也有裸奔的时候。
直到现在,心情都没稳定下来,不过比512好多了,但是还是很担心余震,现在做在家里上网心都是虚的。成都今天不知道从那里报出的消息要缺水了,结果超市的饮用水一强而空。
目前感觉头脑是昏的,时不时会感觉在晃。目前待在成都似乎是一种折……
软件项目交易
订阅我的博客
XML聚合  FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
订阅到BlogLines
订阅到Yahoo
订阅到GouGou
订阅到飞鸽
订阅到Rojo
订阅到newsgator
订阅到netvibes
文章分类
收藏
    相册
    测试
    友情链接
    老赵的博客
    存档

    原创 Linux之父话糙理不糙

    新一篇: 用C设计,用C++编码

         Linus Torvalds曾经在十多年前尝试用C++来开发Linux内核,由于种种原因,很快失败了。自那时起他就不时表达对C++的不满。刘江blog上的记录的这个事件只是最近的一次而已。尽管言辞激烈,但其实话糙理不糙。

         时至今日,在一般的场合下,C和C++语言的主要用途就是系统级软件的开发。具体地说,C/C++写平台、工具和基础库,支持高层的语言来完成应用逻辑。 在9月份《程序员》杂志上刊登的一篇《微软架构师谈编程语言发展》的文章里,Brian Beckman直截了当地说,C++语言主要是用来开发别的语言的。这话片面一点,如果改成 “C++语言主要是用来支持别的语言的”,那就大体没错了。

         做系统软件开发的时候,重要的是理解系统的运作方式,那些漂亮的抽象手法和高级特性是次要的。

         有一个有趣的现象,不少做系统软件的老手,在用过一段C++之后,又回到C。因为在这个层次上,C++对于C的优势就不突出了。那些高级的抽象结构往往是 不必要的,反而是由于抽象层次的提高,使得开发者要弄清楚“下面实际发生的事情”变得不太容易了。所以很多老手实际上觉得用C语言控制力更强一些,更得心 应手一些。真正的C语言高手,对于语言和编译器都很熟悉了,基本上在写C时候就已经知道编译器优化以后产生汇编代码是个什么样子,甚至可以改变C代码来引 导编译器产生最优化的机器码。而C++的机制很丰富,很多机制是为了满足高层应用和框架的需求而准备的,在这个层次上发挥不出来,反而把清晰性给牺牲掉 了。很多时候,一个简单的语句,到底背后会发生什么,即使是老手也说不清。比如:

         std::string s(“Linux Torvalds");
         std::string scopy = s;

         上面这段代码不过是创建两个内容相同的字符串副本,但是没有任何一个人能够在不了解更多信息的情况下清楚地描述背后所发生的事情,因为不同的STL对于 string的实现方式不同,因此在copy assignment时表现也不同,有的可能是简单地复制字符串对象,有的可能具有ref-counting机制,需要创建对象、设定对象值、增加引用计 数,有的没有考虑线程安全性,有的考虑了线程安全性,还得加锁解锁,对不起,加解锁也还有很多做法。创建新的string对象时,有时还需要调用内存分配 器,而这个东西的实现又五花八门,有的直接new char[],有的从内建的memory pool申请,memeory pool是不是线程安全的?对不起,这次
    可能又要涉及加解锁问题。memeory pool会不会已经满了?要不要次第调用new/malloc申请新的内存块?总之,后面的事情够多够复杂,没有相当功力,对平台了解不够深入,很难说出个子午卯酉来。

          一个字符串复制尚且如此,别的高级特性就更不用说了。所以很多人宁可麻烦一点,也不愿意使用C++,这还是可以理解的。

          就我个人来说,我还是愿意用C++的,特别是在C里写一遍又一遍realloc的时候,就想起 string::operator+=()的好处来了。大概是STL给我的印象太深了,写算法程序的时候,不用STL就觉得不爽,一个transform 就可以搞定的事情,非要用for循环,这会让我感觉浑身不自在。所以一般情况下,拿到一个什么问题,我还是会用C++去解决的。对我来说, Torvalds的话其实是很中肯的,即使是用C++,也要尽可能搞清楚其背后发生的事情,这样在写low level程序的时候才会有把握。如果是设计应用级别的程序,就尽可能不用C/C++,把底层的事情都忘掉,专心专意做好应用层的设计才是正道。
     

    发表于 @ 2007年09月08日 14:33:00|评论(loading...)|编辑

    旧一篇: 通过一个真实故事理解SOA监管

    评论

    #universee 发表于2007-09-08 18:45:48  IP: 125.34.41.*
    顶一下,怎么不放到首页呢?
    #fastest286 发表于2007-09-08 19:30:47  IP: 61.140.124.*
    C++ 的编译速度让我不敢使用一些大型的优质库, 例如 ACE, 非常郁闷.

    现在我开始使用 D 来写程序了, 感觉不错.

    目前还没有什么好的 IDE, debugger 也只有 windows 下面好点. 平时的编程倒也不需要动用太多调试器, 只是出现非法访问的时候, 有一个会方便很多 :(

    平时开发的时候, 例如编译器自带的 unittest 和 code coverage 分析, 配合 trace/log 代码, 基本上就够用了. 只是特殊时候有些麻烦, 例如, 昨天出现一个 gc 时候报非法访问, gdb 无法指对地方, 折腾得比较久, 用注释代码的方法找出了问题, 原来还是 C++ 习惯带来的问题, 一个类的析构函数, 想着快些释放掉相关资源, 对内部子对象调用了 close. gc 是不保证对象和子对象的调用顺序的.

    现在一点就不想用回 C++ 了. 这个编译器, 在 vmware 中编译自带的类库(带网络, container, 文件, io, 甚至还有一个 cluster 系统), 总共不到10秒钟, 编译我自己的程序, 1秒钟都不用.

    快速的编译, 加上方便的 unittest, 和用 python 写程序的快速写, 快速调的感觉相象.
    #pass86 发表于2007-09-09 12:38:28  IP: 222.194.21.*
    C++机制很多,强大在于此。
    面向对象
    变相过程
    基于对象
    泛型编程
    #cloudwu 发表于2007-09-10 01:37:14  IP: 125.120.185.*
    就这个话题写了一篇:C 的回归

    http://blog.codingnow.com/2007/09/c_vs_cplusplus.html

    人肉 track back 一下 :)
    #duyanning 发表于2007-09-10 08:57:53  IP: 221.11.38.*
    也太搞笑了吧,总拿全功能的std::string跟几乎啥也不能干的char*作比较,谁规定你只要用C++处理字符串就得用std::string了?
    拜托,如果你的需求很单纯,如果你有很在意效率,你完全可以不用全能的std::string,但这并能作为你创造适合你需要的your::string从而提升抽象层次的借口。

    Torvalds理糙人更糙,我彻底失望了。
    #duyanning 发表于2007-09-10 09:06:04  IP: 221.11.38.*
    更正几个字:

    也太搞笑了吧,总拿全功能的std::string跟几乎啥也不能干的char*作比较,谁规定你只要用C++处理字符串就得用std::string了?
    拜托,如果你的需求很单纯,如果你又很在意效率,你完全可以不用全能的std::string,std::string的存在并不能作为妨碍你创造适合你需要的your::string从而提升抽象层次的借口。

    Torvalds理糙人更糙,我彻底失望了。
    #turingbook 发表于2007-09-10 09:51:29  IP: 221.223.32.*
    Torvalds对STL和Boost的不满,源自哪里?
    #duyanning 发表于2007-09-10 10:01:11  IP: 221.11.38.*
    应当搞清楚,作为操作系统内核级的开发者,在不清楚自己所用的std::string实现都在背后做了些什么的情况下就敢用,这是他自己素质的问题,而不是他所用std::string实现的问题。

    如果不清楚std::string是怎样实现的,而std::string的行为对于你的程序又很关键的话,就请去调查,去弄清楚,然后选择要不要用,而不是抱怨std::string背着你如何如何。

    假如他选择的不是C++的std::string而是某个用C写的字符串函数包,那他是不是也要因为不清楚这个字符串函数包的具体实现而要对“一切抽象及复用”进行否定呢?

    Torvalds仅仅是在敌视C++吗?
    他已经把他自己放在一切计算最根本的“抽象”的对立面上了。

    Torvalds长期以来对于C++和C++用户的侮辱让他看起来更像是个小丑。
    #mhmdanger 发表于2007-09-10 10:16:43  IP: 125.70.253.*
    内核是不用c库函数的
    #iwad 发表于2007-09-10 10:18:54  IP: 210.14.93.*
    几乎啥也不能干的char*
    ~~~~~~~~~~~~~~~~~~

    char *加上c标准库函数有什么不能干的,请指教。
    #duyanning 发表于2007-09-10 10:26:39  IP: 221.11.38.*
    char *加上c标准库函数有什么不能干的,请指教
    ==========================
    好吧,那我就来指教你。
    char*要啥都能干还用得着加上标准库函数么?

    把char和*分开写的人,通常都是没有抽象概念,只知道指针的Torvalds式程“天才”序员。
    我比喻你应该很满足吧。
    #duyanning 发表于2007-09-10 10:27:41  IP: 221.11.38.*
    char *加上c标准库函数有什么不能干的,请指教
    ==========================
    好吧,那我就来指教你。
    char*要啥都能干还用得着加上标准库函数么?

    把char和*分开写的人,通常都是没有抽象概念,只知道指针的Torvalds式“天才”程序员。
    我这样比喻你应该很满足吧。
    #duyanning 发表于2007-09-10 10:55:23  IP: 221.11.38.*
    struct string {
    ....
    };

    string* substr(string* this, int start, int len);
    void str_assign(string* this, string* that);
    变成
    class string {
    public:
    string* substr(int start, int len);
    void str_assign(string* that);
    private:
    ....
    };
    就会让Torvalds们难以忍受的话,还有什么好说。
    #CXXSoft 发表于2007-09-10 11:10:08  IP: 125.70.255.*
    都是C/C++开发的牛人些,不敢妄言。关注一下。
    本人很久没有做底层开发。想起来还是满怀念那些日子的.
    看到:此文,还是很能记起那些熬更守夜,搜寻bug和内存泄漏的日子.
    #1073X 发表于2007-09-10 11:11:11  IP: 222.209.223.*
    **做系统软件开发的时候,重要的是理解系统的运作方式,那些漂亮的抽象手法和高级特性是次要的。**

    这是怎么说的?软件本来就是一层一层又一层的,要在何种层次上开发,就应该在何种层次上理解。因为没有理解下层而不放心上层是完美主义者的心理障碍。

    OO又不是只有抽象,C++比C明显的优势就是更合理的数据封装。不如说Torvalds对OO还没有入门。
    #kast_bbs 发表于2007-09-10 11:19:04  IP: 220.196.46.*
    似乎可以去用汇编,呵呵。
    -----
    ■袋鼠蛋是国内第一个开源的动态web服务器,其拥有自己的开发语言DQM及容器(类似于Servlet/JSP)
    www.kangaroo-egg.com
    #protlb 发表于2007-09-10 11:32:43  IP: 194.138.202.*
    孟老大举的例子还是很经典的. C++在后台的确干了很多事情.所以C++的语法复杂,陷阱多,学习曲线高.

    Torvalds这种大师级的人物怎么会不明白C++在后面干了什么?只是大师的眼里看的是本质, 不喜欢纷繁芜杂的东西扰乱思绪而已.

    举个例子,一武林高手跟人谈内功心法,讲作战心得,哪怕很细致入微.对一般人真是非常有用,但是搁在东方不败此类人的眼里,却实在是俗不可奈了.甩手一枝绣花针,就game over了.
    #duyanning 发表于2007-09-10 11:45:21  IP: 221.11.38.*
    只是大师的眼里看的是本质, 不喜欢纷繁芜杂的东西扰乱思绪而已.
    =========================
    眼里只有赤裸裸的机器就是看到本质了?
    有些人可笑就可笑在他们总把底层等同于本质,拿虚幻的东西给现实的生活选择作佐证。
    #kbaby 发表于2007-09-10 11:50:17  IP: 121.35.228.*
    看不下去了,这位"高人"所说的,
    >> "Torvalds仅仅是在敌视C++吗?他已经把他自己放在一切计算最根本的“抽象”的对立面上了。"
    没有读过,或者了解过linux kernel代码的人,往往会说这些话.有空请稍微阅读一下linux kernel中的数据接口定义,以及著名的VFS的设计理念.你那个string class的示例,可以在你阅读VFS之后,收声.

    >> "Torvalds长期以来对于C++和C++用户的侮辱让他看起来更像是个小丑。"
    人家只是不喜欢C++,没有对其用户怎么着,浪费口水.

    语言的选择和应用场景有很大的关系,所以见仁见智.
    #duyanning 发表于2007-09-10 12:03:17  IP: 221.11.38.*
    没有读过,或者了解过linux kernel代码的人,往往会说这些话.有空请稍微阅读一下linux kernel中的数据接口定义,以及著名的VFS的设计理念.你那个string class的示例,可以在你阅读VFS之后,收声.
    ==========================
    抱歉,linux kernel的代码本人半行都没有看过,也没有兴趣去看(估计看了也看不懂),就连著名的VFS的也是您刚刚介绍给我的。
    我看过Torvalds对着C++胡说八道的那个帖子,知道他在说什么,这就足够了。
    #aruhan 发表于2007-09-10 12:07:45  IP: 218.108.25.*
    我不注重过程,只注重结果。。。

    不管怎么样,
    写出好东西,才是王道。
    #duyanning 发表于2007-09-10 12:08:51  IP: 221.11.38.*
    我不注重过程,只注重结果。
    ================
    真正注重结果的人,不可能不注重过程。
    #xmoon1983 发表于2007-09-10 12:23:25  IP: 124.42.2.*
    语言不是宗教。
    #benjiam 发表于2007-09-10 12:42:44  IP: 222.68.181.*
    语言不是宗教。

    但语音是信仰。

    linus 的水平 这里没人能比得上,他对c++ 的理解水平这里也没人能比得上。在越来越花哨的编程面前,我们不要忘记我们只是操作电子开关 开关一些电子管而已。
    #duyanning 发表于2007-09-10 12:51:45  IP: 221.11.38.*
    在越来越花哨的编程面前,我们不要忘记我们只是操作电子开关 开关一些电子管而已。
    ==================
    只看得见原子在运动却看不见历史在运动的人啊。
    #kwer 发表于2007-09-10 12:58:51  IP: 59.33.115.*
    像我这样的菜鸟都看得出一点他的意思,他是说很多时候抽象出来的东西恰恰是无意义的(反而不利于版本控制?)
    以下是我的理解了:
    1.delphi的<Tobject>设计,好多人都说很差(我不敢妄言),估计为了跨平台还得重新修改,如果修改那简直是场灾难。
    2.OO不是灵丹妙药,《Delphi高手突破》(申旻)就提到这个问题。
    例如。a.圆和椭圆如果用OO编程必然和现实理解有出入(圆是特殊的椭圆)
    b."容器"问题--当A是一种B时,那么A的容器(绝对)不是一种B的容器
    #gussing 发表于2007-09-10 13:07:20  IP: 220.248.25.*
    # kbaby 发表于2007-09-10 11:50:17 IP: 121.35.228.*
    看不下去了,这位"高人"所说的,
    --------------------------------------
    L粪老是装出一副被迫害者的样子,要“看不下去”才开始反驳,迫害妄想症嘛,可以理解。

    然而几乎所有的相关争论都是L粪先挑衅才引起的
    #miyimei 发表于2007-09-10 13:27:56  IP: 61.141.229.*
    抱歉,linux kernel的代码本人半行都没有看过,也没有兴趣去看(估计看了也看不懂),就连著名的VFS的也是您刚刚介绍给我的。
    我看过Torvalds对着C++胡说八道的那个帖子,知道他在说什么,这就足够了。
    --------------------------------------------------
    你肯定不知道他在说什么,老实说,我认为你水平很低,相当低
    #liuchuan98 发表于2007-09-10 13:28:35  IP: 58.48.110.*
    c++过于灵活且复杂,就向是一把玄铁剑,威力巨大,但使用不慎就会伤到自己
    不管怎么说,也不愿它没落,关注c++...
    #xyxtl 发表于2007-09-10 13:33:37  IP: 60.208.148.*
    每个人都有自己喜欢的和不喜欢的,擅长的和不擅长的。只要用自己最擅长的语言写出最漂亮的程序就不得了吗。他就是表达了自己的对C++的不满,难道你们就没有对某一个语言不满意的感觉吗。为什么非要争出来个谁好谁坏来呢。一群人在这里狂吠,有意思吗?
    #yeyuboy 发表于2007-09-10 13:35:22  IP: 220.168.32.*
    Torvalds站在他个人的角度说这些话的话我觉得很正常。
    1,找不到足够多的精通c++的人。很难判断某个人的c++水平,连c++之父......
    2,c++中的很多特性在开发像内核这种东西时是不需要的,甚至是被禁用的,为了教育开发人员不要使用某些特性估计也会费尽心思。
    3,c++不明朗,特别是Torvalds时期开发linux内核的时候,在需要优化的时候估计就要费尽了。

    我觉得Torvalds只是做为一个公众人物在媒体面前发表了自已的人个意见而已,csdn呢只是做为一个媒体炒做话题而已,而大家呢?你们继续,我工作了。
    #lymcn 发表于2007-09-10 13:38:16  IP: 125.34.198.*
    谁会用机器码编WINDOWS程序
    谁会用C#编单片机程序
    #wzhou1974 发表于2007-09-10 13:44:16  IP: 13.187.241.*
    c/c++个人所爱,不必太在意。Torvalds固然起头了Linux OS并维护者它,但Linux被如此的广泛应用,已经成为一个公共产品,似乎不在应该由Torvalds的好恶来决定或影响Linux OS的发展。我们中国人应该特有体会,毛泽东是中国的缔造者,固然伟大,但国家是公器,发展由人民决定为好。Linux OS几乎也成公器,对它的发展也实在应该民主的决定为好。不是不相信Torvalds本人,而是根本不相信个人。受害太深矣!
    #wxwx110 发表于2007-09-10 13:51:04  IP: 124.66.35.*
    还是那句话,没有最好的,只有最合适的,说啥都没用
    #fish6344 发表于2007-09-10 14:01:17  IP: 125.71.189.*
    大家不必在意别人对C++语言的敌意!听听java、Delphi及C#等语言的发明者们的声音,无一不是在大谈他们的东东的好处,而C++是这也不好那也不好。但他们在自诩自已的语言效率极佳的时候,无一不拿C++作为参照(声称等同甚至超过C++)!他们总用自已偏爱的语言的优点(未必是优点)去攻击C++的缺点(也未必就是缺点), 这其实说明他们在潜意识上已视C++为开发工具的标准,这点很象中国古时候那个卖矛和盾的人!即使是Linus Torvalds对C++的异议,我认为异议的实质也是他对OOP以及使用C++而滥用继承的人的不满,对C++语言的攻击反而略显苍白。

    科学领域本身就是百家争鸣的世界,语言激烈点也未尝不可。但我觉得每一种语言都应该被我们所尊重。各种语言的存在,自然有其存在的理由。软件工程界至今,还没有哪一种语言可以堪称完美,没有哪一种语言万能,这是不争的事实!

    C++在今天,的确今非昔比,但这并不是因为C++不够好、不如其它语言,主要原因是今天的电算环境和C++诞生时相比,发生了巨大的变化。互联网兴盛,硬件性能提升而价格下降等等因素导至java应运而生。C++作为一个80年代诞生的静态语言,加上它赋预使用者太多的权力(权力可是双刃剑啊!)、标准的约束性以及C++的教育状况,有今天的境况是完全自然的。

      所以大家不必在意世人对C++的非议,我可以作这样的比喻:

    如果你想作一个原始社会的部落首领,请用汇编;如果你想当一个封建君主,请用C;如果你想作一个开明伟大的国家元首(当然你必须有超凡的驾驭权力的能力!),可以使用C++,如果想当大臣,知府什么的,那会有更多的选择...... 

    我永远爱你-C++!
    #LineAge_Hell 发表于2007-09-10 14:12:36  IP: 60.191.94.*
    我不大喜欢C++里stl,mfc之类的东西,因为他做一些事情的时候,总是
    乱七八糟的封装一气,反而没有C那么干脆利落,呵呵,一家之言,
    如有不同观点请不要互相攻击
    #miyimei 发表于2007-09-10 14:13:54  IP: 61.141.229.*
    如果你想作一个开明伟大的国家元首(当然你必须有超凡的驾驭权力的能力!),可以使用C++,如果想当大臣,知府什么的,那会有更多的选择
    ------------------------------------------------------
    一般越是在现实中没落,就越需要在精神世界中yy,把程序开发语言也看成是信仰的,除了为了利益的传教士,就是傻瓜教徒了
    我现在就是用的c#开发,呵呵,当大臣当知府都无所谓,你当我是平民或者乞丐都可以
    #luojxun 发表于2007-09-10 14:30:39  IP: 59.55.250.*
    各种能经历时间考验生存下来的语言,就是一种好的语言,让时间来回答这个问题吧!!!呵呵!!!!
    #yevv 发表于2007-09-10 14:40:45  IP: 222.129.27.*
    在9月份《程序员》杂志上刊登的一篇《微软架构师谈编程语言发展》的文章里,Brian Beckman直截了当地说,C++语言主要是用来开发别的语言的。这话片面一点,如果改成 “C++语言主要是用来支持别的语言的”,那就大体没错了。

    ------------------------------------------------------
    如果一改,也就是100步和50步的关系吧
    #yevv 发表于2007-09-10 14:53:06  IP: 222.129.27.*
    另外:举的下面这个例子
    std::string s(“Linux Torvalds");
    std::string scopy = s;

    说高手也看不出来个子午卯酉来,那高手大可自己实现一个比标准库漂亮些的string,自己用阿,这样模块化效果获得了,自己实现的总不至于不知道子午卯酉了吧,如果再不知道,那就等醒醒酒再说,应该还是比char *用的舒服,还清晰,呵呵,如果非要用标准库,还不愿意查相关资料,回过头来还抱怨,那又能怨谁呢
    #lichunpu 发表于2007-09-10 14:58:54  IP: 218.202.107.*
    在下 认为从汇编 到 C 到 C++/java是一个从抽象到具体的过程,越抽象越简单,但难于理解,更难于熟练。
    刚刚完成的一本小册子
    《C语言本与末》
    http://www.cnitblog.com/Files/lichunpu/CBT1.rar
    里面阐述了在下对C和C++之间关系的观点。
    请多指教!
    #larruping 发表于2007-09-10 15:16:24  IP: 59.35.96.*
    Torvalds搞了个linux内核,你们搞了些什么,呵呵
    #robin97 发表于2007-09-10 15:18:11  IP: 219.159.80.*
    一行Linux kernel都没有看过…………
    =========================
    让我想起了,央视版《射雕英雄传》的张纪中:金庸的小说我没有看过。
    #lichunpu 发表于2007-09-10 15:21:32  IP: 218.202.107.*
    一个用C++写的小文件系统
    http://www.cnitblog.com/Files/lichunpu/nn.rar
    后总感觉不爽又用纯C改写了,很爽,
    http://www.cnitblog.com/Files/lichunpu/nn40.rar
    其中滋味,大家自己写写就知道了!
    #onemonth 发表于2007-09-10 15:23:12  IP: 222.183.16.*
    楼主此举显示出了一种做人的睿智。正如楼主的各种评论那样,他正以一种坚定不移的步伐向着it天国圈子钻去,以显示自己的超然,进而得到膜拜。然而进入光明的it天国是一件漫长而曲折的道路,靠自己慢慢走显然不是那么容易忍受的事情。于是时时发生杨里娟事件的神奇国度里,当然也就不在乎it界里多一件这样的事情。于是,不用管靠捧臭脚还是胡言乱语,先自我上位了再说。再于是,c++在这里到底是好坏已经没有任何意义了。
    #chengwei_xj 发表于2007-09-10 16:04:58  IP: 123.116.112.*
    Linux为什么到现在都进入不了真正的桌面市场,只是技术人员的玩物从linux老大的话可见一斑,呵呵,不尊重用户(桌面用户)和大部分开发人员的结果,就高傲的仰起头吧,看老天能给地带来什么???
    #mones 发表于2007-09-10 16:37:06  IP: 218.69.212.*
    您说的话真的很中肯,C++的程序员应该试着多了解一些低层的东西。
    #mones 发表于2007-09-10 16:45:09  IP: 218.69.212.*
    支持fish6344的评论
    #bluesen 发表于2007-09-10 17:09:32  IP: 219.133.173.*
    也许大家都忘记了一个前提,那就是Linus Torvalds是在被别人言辞刺激后才说这样一番话的。就编写操作系统内核而言,当然Linus的选择的对的,C比C++更高效,而且胶合层更薄。
    但对于操作系统内核之上的应用层开发,情况就有所不同了。

    在刘江的Blog上介绍的很清楚:
    有一位Dmitry Kakurin老兄在查看了源代码之后,发现使用的是纯C而非C++,表示不可理解,他直言:
    “别拿可移植性说事儿,这是屁话(BS,bullshit)。“(此外,他还批评Git蛮力地直接操作文本,
    既啰嗦又易错,而且很难跟上高层代码逻辑。)
    这个BS引起了Torvalds的强烈反应,他用“*YOU* are full of bullshit.“(你才满嘴屁话呢)作为自己反驳的开场白。

    也许,一个人在被激怒的情况下所说的话,我们可以不必过于当真。
    #seraphsky 发表于2007-09-10 17:24:08  IP: 125.34.51.*
    爱因斯坦发现相对论的时候,很多物理学家自杀了,因为无法接受心中的圣经被推翻的观念。。。。我还是比较支持孟老师的说法,那些极力抨击C的人我觉得大可不必这样,两种语言各有千秋,但是不可否认的一点就是C++的标准做的实在不怎么样,加上层出不穷的编译器的问题,使得学习周期大大加长。
    #middle 发表于2007-09-10 17:27:45  IP: 202.32.93.*
    我看有些人忽略了最基本的事实。

    “Linux不能流行就是因为Linus的这种态度。”——麻烦你找几个比Linux还流行的软件。Windows吗?哦,Windows的流行原来不是因为时机和微软雄厚的财力,而是因为Bill Gate的个人态度。或者您老写的软件比Linux还流行?

    “这是无聊的空谈。”——我觉得Linus应该是这个世界上最不愿意空谈的几个人之一了。在DMS空谈微内核的Hurb十年之后,黑客们终于有了自己的操作系统。而听取一个写了这么多代码的人的几句感受,我想大家不要太急于反驳。
    #cnmmbd 发表于2007-09-10 17:36:24  IP: 210.21.35.*
    "Linus Torvalds曾经在十多年前尝试用C++来开发Linux内核,由于种种原因,很快失败了。"

    Linux内核是什么语言开发的?
    #andy_show 发表于2007-09-10 17:43:12  IP: 202.109.110.*
    个人认为,这个世界上最好的程序员肯定不是C++程序员。
    C++好比一种威力强大的武功心法,但是太容易走火入魔,坦白的说,我写了十多年的程序,但是在现实中很少见到C++写的好的程序员,一个很重要的原因是C++的丰富的特性会把人引入歧途,你会不自觉的选择复杂的设计,现实中的很多代码是许多人在学习过程中写成的,而很多人在使用这些C++的特性的时候并不明确这么使用这种武功是否合适!这样的代码可能遍布很多以C++作为开发工具的产品中。
    而如果让这些程序员从一开始就用C的方式去写,可能就不会范他们用C++时所犯的错误,从这个角度而言,C语言的简单性恰恰是一种优势。C++的复杂性会使很多人误用。而C语言的简单性,一般情况下都会迫使你使用比较简单的设计,例如C语言不能在语言层次上提供类继承的方式,那么它会迫使你更多的使用组合,而不是继承这样的重用方式,即使你可以用函数指针表的方式实现多态,也不可能象C++那样把类层次扩展了一层又一层,在c语言中,函数指针表的在c语言中以更接近于定义接口的方式被使用。这些都是C语言的简单性迫使你做出的选择。
    而很多C++的程序员却在C++的丰富的特性前面忘了简单性原则的重要性。





    #dushen2 发表于2007-09-10 18:36:52  IP: 59.42.126.*
    to duyanning:

    抱歉,linux kernel的代码本人半行都没有看过,也没有兴趣去看(估计看了也看不懂),就连著名的VFS的也是您刚刚介绍给我的。
    我看过Torvalds对着C++胡说八道的那个帖子,知道他在说什么,这就足够了。
    --------------------------------------------------
    你确实看不懂,因为凡是能看懂内核代码的人都不会这样说。
    #rechald 发表于2007-09-10 18:56:19  IP: 58.60.49.*
    哦,看得热血澎湃
    我是个C++菜鸟,在学校学的C++忘了十之八九,还有一两分正在忘记中,因为工作以来一直用Delphi
    看到你们的评论,使我又有了用C++的冲动
    我以为:每种语言都有优劣,关键是扬长避短
    #rechald 发表于2007-09-10 19:03:15  IP: 58.60.49.*
    也许C++存在这么多争论就是因为他够灵活,构随心所欲
    我用C++得时候总在想:我是老实写,还是灵活写?老实写似乎对不起C++,因为我没发挥他的本领;灵活写我怕侮辱了C++,因为我没有把握掌握他
    #Roc_fu 发表于2007-09-10 19:44:30  IP: 60.208.80.*
    感觉楼上部分回帖的朋友没有理解孟岩和Linus Torvalds在说什么
    更有部分网友直接拿出代码来比较
    可是你们看懂了争论的焦点在哪吗?
    问题的焦点不是语法的纯洁性和高级别,不是代码行数的对比,是代码的可控性和编译後的执行质量!
    我很少用C++,Unix和Linux下我用c,windows前台程序我用VC和Delphi(都有年头没用了),比较而言,我更喜欢Delphi
    那些在这里叫嚣Linus Torvalds不正确的Windows程序员们可以休息了,因为Linux从来都是C的世界,可以说是历史原因,也可以说是Unix文化
    C++从来都不是Unix下编程必须的,MFC好多年来都是最庞大的C++库(现在是不是我不知道)
    如果你用Windows下的VC开发,你应该知道MFC中的很多类只是API的简单封装(我估计MS开始也不敢封装的太高级),而这些API原型都是C风格的(我没看过源码,不敢说一定就是C而不是C++写的)我猜想他们是C写的,但是让最终用户通过直接调用API来写GUI程序,代码量是很恐怖的,所以现在我始终认为,C++在Windows平台上的使用,就是简化编程,和提高编程效率而已,而MS在Windows下编程之所以敢大量使用C++完全是因为底层API提供了安全可靠的系统支撑!
    #wangliuyun 发表于2007-09-10 21:08:25  IP: 222.90.252.*
    各位都是高人 小生学习了
    #wishfly 发表于2007-09-10 21:19:59  IP: 61.149.146.*
    >>感觉楼上部分回帖的朋友没有理解孟岩和Linus Torvalds在说什么

    是你自己没理解问题的由来:(

    c写linux内核,谁都没问题。
    问题在于:linus用从c写了个应用程序,这才是这场争论的由来。

    OK!问题弄清了吧!继续.....
    #middle 发表于2007-09-10 22:03:12  IP: 221.220.20.*
    C用来实现封装性很简单。比较难以用C直接实现的是继承和多态。不过在现实中继承和多态真的是可以用的少之又少的。很多所谓的继承和多态的“设计”完全可以用基于策略的方式来完成。基于策略的方式在C里用函数指针或者表驱动完全可以做到。

    很多不得不用C++高级特性的“设计”,其实从一开始就使用Java甚至script更容易做到。OO并不是模块化和可维护性的唯一可行方式,甚至不是最优的方式。而C++的OO实现也不是很好的实现。
    #efdev 发表于2007-09-10 22:35:00  IP: 221.201.11.*
    不要试图为C++辩解,理由有三:
    1、语言之争毫无意义;
    2、Linus,孟岩,云风(http://blog.codingnow.com/2007/09/c_vs_cplusplus.html) 他们的讲话是有份量的;
    3、每个人在发表意见之前都应该掂量一下自己的份量;
    4、不要对任何语言有“宗教般的虔诚”(云风语);
    5、你真的深入了解了C++吗?(许多有十多年开发经历的人都不敢有肯定的回答)
    #efdev 发表于2007-09-10 22:35:40  IP: 221.201.11.*
    楼上的错了,理由有五。
    #junhao 发表于2007-09-10 22:41:11  IP: 220.231.168.*
    C是精炼的,C++是灵活的,但也是让人头疼的,自己取舍吧。
    #Roc_fu 发表于2007-09-11 00:03:28  IP: 60.208.80.*
    wishfly 发表于2007-09-10 21:19:59 IP: 61.149.146.*
    >>感觉楼上部分回帖的朋友没有理解孟岩和Linus Torvalds在说什么

    是你自己没理解问题的由来:(

    c写linux内核,谁都没问题。
    问题在于:linus用从c写了个应用程序,这才是这场争论的由来。

    OK!问题弄清了吧!继续.....

    -----------------------------------------
    敢问您写过多少应用程序?您知道基于C的GUI库有多少?C开发的应用程序有多少么?C++开发应用程序速度快么?
    #wishfly 发表于2007-09-11 01:57:18  IP: 61.149.146.*
    >>2、Linus,孟岩,云风(http://blog.codingnow.com/2007/09/c_vs_cplusplus.html) 他们的讲话是有份量的;

    哥们!别开玩笑了!还“他们的讲话是有份量的”。
    哈哈。。。
    #usingc2002 发表于2007-09-11 02:23:40  IP: 125.77.222.*
    ^_^
    #redex 发表于2007-09-11 09:08:36  IP: 218.28.20.*
    "就我个人来说,我还是愿意用C++的,特别是在C里写一遍又一遍realloc的时候,就想起 string::operator+=()的好处来了。大概是STL给我的印象太深了,写算法程序的时候,不用STL就觉得不爽,一个transform 就可以搞定的事情,非要用for循环,这会让我感觉浑身不自在。所以一般情况下,拿到一个什么问题,我还是会用C++去解决的。"

    =======================================

    ---那也只是库而已, 用c同样可以实现, 如果扩充c库, 使之里面有类似的transform或更好的容器, c++同样没有任何优势
    #redex 发表于2007-09-11 09:12:25  IP: 218.28.20.*
    "如果是设计应用级别的程序,就尽可能不用C/C++,把底层的事情都忘掉,专心专意做好应用层的设计才是正道。"

    =======================================

    ---应用层开发java,c#, delphi 比c++做得好得多, 说句cpper们不愿意听的话: c++不知道浪费了人们多少宝贵的时间, 确实该滚出市场了(至少是主流市场)
    #winprog 发表于2007-09-11 09:18:47  IP: 221.204.246.*
    记得某本书上说:根本没有必要用C++改写现有的C代码。
    还有:脚本里面包含了更多的Unix思想~
    #redex 发表于2007-09-11 09:21:22  IP: 218.28.20.*
    "C用来实现封装性很简单。比较难以用C直接实现的是继承和多态。不过在现实中继承和多态真的是可以用的少之又少的。很多所谓的继承和多态的“设计”完全可以用基于策略的方式来完成。基于策略的方式在C里用函数指针或者表驱动完全可以做到。

    很多不得不用C++高级特性的“设计”,其实从一开始就使用Java甚至script更容易做到。OO并不是模块化和可维护性的唯一可行方式,甚至不是最优的方式。而C++的OO实现也不是很好的实现。"

    =======================================

    "不过在现实中继承和多态真的是可以用的少之又少的"

    说得非常好, 严重支持!!!
    #hm7921936 发表于2007-09-11 09:26:14  IP: 60.161.211.*
    to wishfly :

    最起码一点比你的话 绝对是 有分量说的 还有前面一位 好意思发STRING代码的仁兄 连内核的 一点了解都没有 就大放倔词


    真是佩服佩服. 我想这就是所谓的 空谈家. 或者是国内垃圾项目 基本由此类决定.
    #hm7921936 发表于2007-09-11 09:28:47  IP: 60.161.211.*
    我不知道 为什么那么多 一点内核 开发都不了解的人 在此大放撅词. 显的自己多么多么 与众不同. 实在是浅薄.
    #wishfly 发表于2007-09-11 09:42:43  IP: 61.149.146.*
    >>"最起码一点比你的话 绝对是 有分量说的 "

    怎没看出来的?还是因为你少见多怪?

    国内是有不少牛人,但不是成天写博客的那几个?明白?

    提醒:只针对言论回复,会更客观!

    免得让人以为你是井底之蛙:(
    #redex 发表于2007-09-11 09:45:09  IP: 218.28.20.*
    "假如他选择的不是C++的std::string而是某个用C写的字符串函数包,那他是不是也要因为不清楚这个字符串函数包的具体实现而要对“一切抽象及复用”进行否定呢?

    Torvalds仅仅是在敌视C++吗?
    他已经把他自己放在一切计算最根本的“抽象”的对立面上了。"

    =======================================

    素质低劣, 狗屁不通, 对软件大谈什么“一切抽象及复用”真有多大用吗? 真有用的“抽象及复用”还是框架,类库, 说到底是"更多的人用了才体现出了所谓狗屁"复用"!! 而不是你的本意: 开发一个好的东西让别人去复用.

    java, .net这些东西必然养成更多的垃圾, 本质上是束缚了人的思想, 而不是扩展了人的思想
    #1073X 发表于2007-09-11 09:46:06  IP: 222.209.223.*
    似乎很多人都对Linus Torvalds很是顶礼膜拜,何必如此,迷信“大师”是一种愚蠢的行为。每个程序员都有自己过人的方面,就和C\C++一样,各有好处。
    也许C++程序员们最不能原谅的是对C++偏激的指责,其实每个人心里都清楚的很,C++有缺点,就和其他所有语言一样。不过这有什么关系?任何有缺点的语言都可以编写软件,用什么真的那么重要吗?
    对一个应用程序来说,C++或许缺了很多基础设施,但是随着开发进行,基件的精化,后续的开发效率未必一定比更高级的语言低。从另一方面来讲,用C++编写的系统软件也比比皆是,甚至是操作系统。这已经可以说明这种有缺陷的语言可以胜任很多领域的开发工作,和其他有缺陷的语言一样。
    我强烈呼吁各位cpper,不要因为Torvalds的一时气话,或者博主的煽风点火进行这些没有结果的争论了,安心工作。
    #redex 发表于2007-09-11 09:48:16  IP: 218.28.20.*
    “抽象”,“抽象”,“抽象”, 现在世道变了, 每天大谈"抽象程度越高越好"的, 市场慢慢失去了 ... ... 但愿事物回到本来面目, 别TMD太抽象了 ......
    #redex 发表于2007-09-11 09:52:03  IP: 218.28.20.*
    "... ...也许C++程序员们最不能原谅的是对C++偏激的指责,其实每个人心里都清楚的很,C++有缺点,就和其他所有语言一样。不过这有什么关系?任何有缺点的语言都可以编写软件,用什么真的那么重要吗?
    对一个应用程序来说,C++或许缺了很多基础设施,但是随着开发进行,基件的精化,后续的开发效率未必一定比更高级的语言低。从另一方面来讲,用C++编写的系统软件也比比皆是,甚至是操作系统。这已经可以说明这种有缺陷的语言可以胜任很多领域的开发工作,和其他有缺陷的语言一样。
    我强烈呼吁各位cpper,不要因为Torvalds的一时气话,或者博主的煽风点火进行这些没有结果的争论了,安心工作。... ..."

    =======================================

    又一个搅混水的来了, 现在似乎是更多对盲目抽象, oo, c++ 顶礼膜拜吧? 把c++拽下神坛, 还原其本来面目, 确实是个很有意义的工作 ... ...
    #wishfly 发表于2007-09-11 09:54:58  IP: 61.149.146.*
    "但愿事物回到本来面目, 别TMD太抽象了 ......"

    软件写道几十万行的时刻÷后,“抽象”问题自然浮现,成为最主要的问题。
    #wishfly 发表于2007-09-11 09:56:58  IP: 61.149.146.*
    >> "把c++拽下神坛, 还原其本来面目"

    不愿针对人评论,但你确实要加强学习。
    #redex 发表于2007-09-11 09:59:43  IP: 218.28.20.*
    大哥, 我说的是盲目抽象(尤其是oo) ,,, ,,,

    人之患, 在好为人师啊 ,,, ,,, 看来此言不虚啊 ... ...
    #redex 发表于2007-09-11 10:11:10  IP: 218.28.20.*
    如果你想作一个开明伟大的国家元首(当然你必须有超凡的驾驭权力的能力!),可以使用C++,如果想当大臣,知府什么的,那会有更多的选择
    ------------------------------------------------------
    一般越是在现实中没落,就越需要在精神世界中yy,把程序开发语言也看成是信仰的,除了为了利益的传教士,就是傻瓜教徒了
    我现在就是用的c#开发,呵呵,当大臣当知府都无所谓,你当我是平民或者乞丐都可以

    =====================================

    "一般越是在现实中没落,就越需要在精神世界中yy", cpper们就这德行, 你越说他他还越当真了, 哈哈 ~~~
    #lioqio 发表于2007-09-11 10:18:24  IP: 124.42.44.*
    个人编程感受:
    1、在操作系统底层一般是不会使用C++语言的,最简单的例子是一个内核程序在得到一个自旋锁后调用C++语言的一些特征语句,由于封装,其内部存在内存分配(假设已经将new/delete重载到内核内存分配函数上去),这可能导致进入睡眠,后果可想而知,这在操作系统中是绝对不允许的。
    2、在操作系统上层是可以用C++的,比如windows使用的Kernel streaming,个人感觉远比Linux的V4L2漂亮多了。以及在OS/X的IO/Kit(Object C)和window的KMDF等内核驱动开发框架,使得驱动开发非常简便。(顺便说一下,从这点来看,是linux在学windows,windows在学apple:)
    3、对于应用开发,如果规模大一些的本地软件开发,同时对性能又有较高的要求,那么请使用C++吧。因为C++在语言级别和库上边可以较大的提高开发效率,也有很好的可扩展性。C++比C有更多的花样可以往。
    4、但说到底,我们一般用C++的特性,C完全都可以自己做。

    #hm7921936 发表于2007-09-11 10:26:03  IP: 60.161.211.*
    to wishfly :

    没错 写BLOG 的不一定牛 我同意. 但是这个BLOG一定比你牛. 你同意吗? 谁是井底之蛙还不知道, 盲目自大. 有什么成果什么经历 什么资格 去和他们比? 井底之蛙,动不动就说别人要加强学习. 我实在没看出你懂什么? 就懂吹牛? 国内就是你这类人太多 导致软环境不好
    #wishfly 发表于2007-09-11 10:26:40  IP: 61.149.146.*
    》》“当大臣当知府都无所谓,你当我是平民或者乞丐都可以”

    就你的境界,就不该参与这个讨论!

    应为你听不懂:(


    #hm7921936 发表于2007-09-11 10:29:10  IP: 60.161.211.*
    to wishfly :

    写BLOG不一定牛. 但是这个BLOG作则绝对比你牛多, 看来你很懂啊. 东不东 就要别人加强学习, 井底之蛙不知道是啊?盲目自大. 请问你有什么经历什么资力什么成果? 还动不动就 好为人师 太搞笑了 就你还陪说别人井底之蛙? 我是有自知之明的. 不象某些人. 井底之蛙 而不自知
    #hm7921936 发表于2007-09-11 10:31:27  IP: 60.161.211.*
    to wishfly :
    》》“当大臣当知府都无所谓,你当我是平民或者乞丐都可以”

    就你的境界,就不该参与这个讨论!

    应为你听不懂:(


    动不动别人不懂 你懂吗? 你动什么? 你自己研究过内核吗? 看你样子就没. 真正懂的没这么浅薄. 所谓 水越深 越沉, 看你迫不及待 跳出来JJYY 的样子就知道你的水份了
    #wishfly 发表于2007-09-11 10:31:52  IP: 61.149.146.*
    >>写BLOG 的不一定牛 我同意. 但是这个BLOG一定比你牛. 你同意吗?

    myan---我一向尊重,但不是因为他是软件大师。而是因为--他是文笔最好的程序员。从这点可以看出的他的职业选择是多么明智!

    至于那个风云--太嫩!不值一提!
    #hm7921936 发表于2007-09-11 10:32:19  IP: 60.161.211.*
    to redex :

    他那不叫好为人师,他就一井底之蛙 不用和他一般见识.
    #hm7921936 发表于2007-09-11 10:33:18  IP: 60.161.211.*
    至于那个风云--太嫩!不值一提!



    看他说的话 就知道是个什么样的人. 你有什么资格评价别人? 就算真嫩 恐怕也不是你能比的. 懂吗? 井底之蛙?
    #hm7921936 发表于2007-09-11 10:36:14  IP: 60.161.211.*
    to wishfly :

    来吧 wishfly 说说你有什么 贡献 杰作吧. 我就收回我的话. 让我们这些 井底之蛙见识下吧? 怀疑你看过哪怕一点点 内核开发的 常识不
    #1073X 发表于2007-09-11 10:36:36  IP: 222.209.223.*
    又一个搅混水的来了, 现在似乎是更多对盲目抽象, oo, c++ 顶礼膜拜吧? 把c++拽下神坛, 还原其本来面目, 确实是个很有意义的工作 ... ...
    --------------------------------------------------------------
    盲目抽象不是C++的错,是人们对OO的认识还不够。而且这里有哪个cpper把C++推上神坛了?我的发言只是希望大家不要片面的说哪种语言更好或更坏,这种争论根本没有意义。
    #hm7921936 发表于2007-09-11 10:39:26  IP: 60.161.211.*
    感觉你和duyanning 是一类人. 只能JJYY 没什么真实本事 的.

    千万别介意.
    #wishfly 发表于2007-09-11 10:43:13  IP: 61.149.146.*
    >>来吧 wishfly 说说你有什么 贡献 杰作吧. 我就收回我的话.

    今天有时间,就义务教育一下---

    写内核很NB吗? 那倒未必.只是写内核的人面对的问题,一般人不会遇到,是比较特殊的人群。所以神秘,所以高深。
    这也是中国操作系统没有起色的一个原因---他们没有需要解决的现实问题(盗版原因),所以没有动力。

    让他们写个WORD,不一定知道如何入手!

    软件是用来解决现实中的问题的,而不是用来比试的。

    #redex 发表于2007-09-11 10:55:58  IP: 218.28.20.*
    "char *加上c标准库函数有什么不能干的,请指教
    ==========================
    好吧,那我就来指教你。
    char*要啥都能干还用得着加上标准库函数么?

    把char和*分开写的人,通常都是没有抽象概念,只知道指针的Torvalds式程“天才”序员。
    我比喻你应该很满足吧。"

    ====================================

    所谓的高级语言, 高级在哪? 它的抽象程度真的能高到与自然语言相
    近的程度?? oo真的如它所说的: "与人类社会思维方式更接近??"
    换句话说: 你真的拿那种"大致与自然语言"相似的态度就能搞好一个软件?? 恐怕极搞笑吧???

    技术就是技术, 不需要也没必要神话到 "抽象层次越高越好, 与人的自然思维方式越接近就越好"的程度, 指针就是最基本,好用的抽象

    起初很是嘲笑梁肇新的 "我就是程序,程序就是我"的理论, 觉得人家的抽象水平很低, 事实上,现在开始感到这句话的分量了... ...
    #bluesen 发表于2007-09-11 11:05:07  IP: 219.134.167.*
    看回复比孟老大的原文还意思,这个seraphsky的回复简直就是中学生作文:
    “seraphsky 发表于2007-09-10 17:24:08 IP: 125.34.51.*
    爱因斯坦发现相对论的时候,很多物理学家自杀了,因为无法接受心中的圣经被推翻的观念。。。。我还是比较支持孟老师的说法,那些极力抨击C的人我觉得大可不必这样,两种语言各有千秋,但是不可否认的一点就是C++的标准做的实在不怎么样,加上层出不穷的编译器的问题,使得学习周期大大加长。

    亲爱的seraphsky,请你告诉我,哪个物理学家为了相对论自杀了?
    #redex 发表于2007-09-11 11:10:49  IP: 218.28.20.*
    "不敢说一定就是C而不是C++写的)我猜想他们是C写的,但是让最终用户通过直接调用API来写GUI程序,代码量是很恐怖的,所以现在我始终认为,C++ 在Windows平台上的使用,就是简化编程,和提高编程效率而已,而MS在Windows下编程之所以敢大量使用C++完全是因为底层API提供了安全可靠的系统支撑!"

    =========================================

    让"最终用户通过直接调用API来写GUI程序" 代码量也没那么恐怖, 写好一个框架, 填代码就是了, c++对类的封装(尤其是MFC)能"简化编程","提高编程效率"简直就是一个笑话
    #johnbill 发表于2007-09-11 11:23:22  IP: 207.46.92.*
    这么多年了, CSDN还是这样, 基本10个回复之后就开始骂.
    不知道那些进行人身攻击的人是CSDN的枪手, 还是真的是素质低下的人.
    每种语言有其特定的应用场景和应用范围, 到处都可以用的"万金油"语言是不存在的, 至少现在还没有.
    大家对语言的"优劣"之争, 都是以某一特定应用领域为前提, 因此也就失去了公平性.
    个人见解, 欢迎讨论:)
    #hm7921936 发表于2007-09-11 11:24:51  IP: 60.161.211.*
    今天有时间,就义务教育一下---

    写内核很NB吗? 那倒未必.只是写内核的人面对的问题,一般人不会遇到,是比较特殊的人群。所以神秘,所以高深。
    这也是中国操作系统没有起色的一个原因---他们没有需要解决的现实问题(盗版原因),所以没有动力。

    让他们写个WORD,不一定知道如何入手!

    软件是用来解决现实中的问题的,而不是用来比试的。




    教育? 就凭你想教育我? 太搞笑了. 你真以为你谁啊?小青蛙. 内核 不牛 你也弄个啊. 说你只会吹别不服气. 看看你的BLOG我就知道, 又是一个没什么技术水平的菜鸟
    #robin97 发表于2007-09-11 11:32:41  IP: 219.159.80.*
    seraphsky 发表于2007-09-10 17:24:08 IP: 125.34.51.*
    爱因斯坦发现相对论的时候,很多物理学家自杀了,
    ====================================
    当年我们的课文说:在太空可以看见长城的。
    #redex 发表于2007-09-11 11:36:18  IP: 218.28.20.*
    to johnbill:

    辩论到激烈处开骂是很正常的, 国外的论坛上也不乏shit这样的词汇吧

    主要是中国的无耻媒体(如新闻联播之类)经常TMD往那唱高调, 说中国人素质如何如何低 ... ...

    比如, n年前,中国的无耻媒体每天都在宣扬: 中国人的"午睡习惯"如何如何素质低, 如何如何 10几亿人同时在工作时间睡觉,如何如何垃圾, 如何如何不堪 ... ...

    结果又过来m年, 美国/西方的学者经过重金研究发现: "午睡"不仅素质不低劣, 反而有利于健康,有利于工作 ... ....

    当初那帮SB们呢?? 跑哪了呢??

    英国人骂俄国人那句话很经典, 是关于俄国人与绅士的(当然这句话对英国人自己也适用,哈哈), 可惜忘了 ... ...
    #johnbill 发表于2007-09-11 11:58:17  IP: 207.46.92.*
    to redex
    我个人认为"开骂"总是不好的,特别是升级到进行人身攻击之类.
    国外的论坛我也常去,我一般去codeproject之类比较大的论坛(codeproject应该称为社区更恰当一些).那里的讨论是和平以及互相尊重的,我几乎没有看到过不恰当的用词,更不用说"敏感词汇"了:)
    技术有时是需要纯粹的,掺杂着个人感情的讨论往往会使话题偏离原有的方向.
    #johnbill 发表于2007-09-11 12:00:24  IP: 207.46.92.*
    to redex
    我个人认为"开骂"总是不好的,特别是升级到进行人身攻击之类.
    国外的论坛我也常去,我一般去codeproject之类比较大的论坛(codeproject应该称为社区更恰当一些).那里的讨论是和平以及互相尊重的,我几乎没有看到过不恰当的用词,更不用说"敏感词汇"了:)
    技术有时是需要纯粹的,掺杂着个人感情的讨论往往会使话题偏离原有的方向.
    #powercsdn 发表于2007-09-11 12:47:48  IP: 58.247.121.*
    马克思说:“人类和动物的区别在于会制造和使用工具”
    大大们发明了计算机,你可以不用打算盘了
    大大们发明了键盘,你可以不用在纸条上打孔了
    大大们发明了汇编,你不用拿表查01了
    大大们发明了C,你不用了解太多寄存器了
    大大们发明了C++, 你发现写代码简单了
    大大们发明了java,你发现写代码人效高了
    大大们发明了C#,你发现用C++的人越来越少了
    大大们用C++尝试写操作系统,发现不好用,说C++写操作系统不好用。
    大大们说我们都用C语言吧,大家说,我们不是你,明天还要交活呢,等我们用C语言写个ERP,人家都出下一代了。

    用个比喻:我们村里人用锄头锄地,用爬犁翻地。爬犁有爬犁的用途,锄头也不能丢,因为爬锄不了地。

    最近招聘vc的开始多了,原因是没有人了。说话的人多,坚持的人少。

    别拍我,我很浅显。
    #jiazf523 发表于2007-09-11 13:47:58  IP: 58.60.177.*
    马克思说:“人类和动物的区别在于会制造和使用工具”
    大大们发明了计算机,你可以不用打算盘了
    大大们发明了键盘,你可以不用在纸条上打孔了
    大大们发明了汇编,你不用拿表查01了
    大大们发明了C,你不用了解太多寄存器了
    大大们发明了C++, 你发现写代码简单了
    大大们发明了java,你发现写代码人效高了
    大大们发明了C#,你发现用C++的人越来越少了
    大大们用C++尝试写操作系统,发现不好用,说C++写操作系统不好用。
    大大们说我们都用C语言吧,大家说,我们不是你,明天还要交活呢,等我们用C语言写个ERP,人家都出下一代了。

    用个比喻:我们村里人用锄头锄地,用爬犁翻地。爬犁有爬犁的用途,锄头也不能丢,因为爬锄不了地。

    最近招聘vc的开始多了,原因是没有人了。说话的人多,坚持的人少。
    ==============
    顶,本来C++发明的目的是为了克服C语言的缺点,是一步步走过来,就好像C语言发明的目的是为了克服汇编的缺点,每种语言各有各的长处。如果像有哥们硬要说C++的功能C语言都能实现,那大家都学机器码好了,它应该是什么功能都能实现的。  C++现在地位是下降了,但它毕竟应该算是java和C#的先驱吧,我们还是应该尊重它的价值,毕竟每种语言都有它自身的优点,况且它还有着辉煌的过去。
    我还是相信,那些真正用好C++的都是牛人。
    #middle 发表于2007-09-11 13:48:56  IP: 202.32.93.*
    马克思说:“人类和动物的区别在于会制造和使用工具”
    大大们发明了计算机,你可以不用打算盘了
    大大们发明了键盘,你可以不用在纸条上打孔了
    大大们发明了汇编,你不用拿表查01了
    大大们发明了C,你不用了解太多寄存器了
    大大们发明了C++, 你发现写代码简单了
    大大们发明了java,你发现写代码人效高了
    大大们发明了C#,你发现用C++的人越来越少了
    大大们用C++尝试写操作系统,发现不好用,说C++写操作系统不好用。
    大大们说我们都用C语言吧,大家说,我们不是你,明天还要交活呢,等我们用C语言写个ERP,人家都出下一代了。

    用个比喻:我们村里人用锄头锄地,用爬犁翻地。爬犁有爬犁的用途,锄头也不能丢,因为爬锄不了地。

    最近招聘vc的开始多了,原因是没有人了。说话的人多,坚持的人少。

    别拍我,我很浅显。

    =================================

    上面说的这个大趋势是正确的,不过把“发明了C++, 你发现写代码简单了”加在了里面。这句话可不是谁都同意的。

    Linus的话就算不全面,至少说明在他从事的那个领域里,是他的经验之谈。
    #middle 发表于2007-09-11 13:58:50  IP: 202.32.93.*
    如果像有哥们硬要说C++的功能C语言都能实现,那大家都学机器码好了,它应该是什么功能都能实现的。

    ================================

    这种推理是有缺陷的。

    首先,语言从低级到高级形成层次来解决不同问题是必然的。问题是要不要C++这么一个特定的层次。

    机器语言——汇编——C——Java like——Script like在我看来就是一个很好的层次,没有必要由C++这一层。C有很多独特的是现是汇编不容易做到而大多数设计需要的,但是C++的很多特性县的冗余不简洁。

    批评Linus的那个人就把C++ vs. C和C vs. Asm对比,Linus说他举出这个例子就说明还不明白问题的本质。
    #middle 发表于2007-09-11 14:03:05  IP: 202.32.93.*
    我还是相信,那些真正用好C++的都是牛人。
    ===================================
    那些能用梵文写作的也都是牛人。
    #Scarroot 发表于2007-09-11 14:09:56  IP: 125.93.169.*
    mark
    #1073X 发表于2007-09-11 14:12:06  IP: 222.209.223.*
    to redex:
    你评价一种事物好像不是错就是对,言论很激进。这看起来挺酷的,不过于解决问题没有任何意义,如果这世界上的事情不是对就是错那就太美好了。
    扪心自问,你有好好学习过C++吗?不说那些你认为无用的特性,就是最简单的OO特性你掌握了吗?或许你多学点,多写点代码就不会再这么极端的认为C++是shit了。
    #njdragonfly 发表于2007-09-11 14:45:36  IP: 58.217.197.*
    随你们怎么说吧,
    我自己用C++用的挺好的
    #OneGip 发表于2007-09-11 14:48:24  IP: 221.222.120.*
    支持楼主的这个观点,“C++语言主要是用来支持别的语言的”,三年前我都发布过这样的言论了。
    #bubu8633 发表于2007-09-11 16:32:03  IP: 218.94.88.*
    我们种地的人只管怎么让自己的庄稼长的好,工具用自己顺手的吧,c c++ java 脚本。。。 :) 能多省点力能丰收就好。
    #bukebuhao 发表于2007-09-11 16:33:24  IP: 218.80.239.*
    目前咱就用java。
    #middle 发表于2007-09-11 17:11:06  IP: 202.32.93.*
    我们种地的人只管怎么让自己的庄稼长的好,工具用自己顺手的吧,c c++ java 脚本。。。 :) 能多省点力能丰收就好。

    =======================================

    我觉得Linus也算是个优秀种地人了,虽然他的地和我们的地不一定完全一样。但是天下的地也有共同之处,而且人家种地的量比我们大多了。
    #middle 发表于2007-09-11 17:19:10  IP: 202.32.93.*
    我们种地的人只管怎么让自己的庄稼长的好,工具用自己顺手的吧,c c++ java 脚本。

    =================================

    其实Linus也是这个观点。不过Linus还是忍不住说出了自己的感受。我觉得所有种地的也要掂量掂量他的话。别人家种过那么多地的人说过的话,还非要自己去尝试一遍。
    #middle 发表于2007-09-11 17:20:12  IP: 202.32.93.*
    我们种地的人只管怎么让自己的庄稼长的好,工具用自己顺手的吧,c c++ java 脚本。

    =================================

    其实Linus也是这个观点。不过Linus还是忍不住说出了自己的感受。我觉得所有种地的也要掂量掂量他的话。别人家种过那么多地的人说过的话,还非要自己去尝试一遍。
    #middle 发表于2007-09-11 17:22:41  IP: 202.32.93.*
    道个歉。不是有意重发,CSDN的延时太大,以为没发上去。
    #zheng616 发表于2007-09-11 17:53:38  IP: 58.83.54.*
    遇到个难题,不知道那位C++牛人能解决一下,是.net控件方面的..
    #caicaijuaner 发表于2007-09-11 18:09:52  IP: 219.141.233.*
    菜鸟路过~看的我头晕看不懂
    #littleeagle007 发表于2007-09-11 19:41:54  IP: 218.104.205.*
    Linus 自己垃圾莫法用C++写内核,关C++什么事,那么牛,干吗不用java写内核?? 最汗的是还有人跟到拍马屁,你觉得有道理怎么不早说安? 干吗要等linus来打头阵先说呢?
    #linkerlin 发表于2007-09-11 23:35:53  IP: 125.98.191.*
    最近关于C/C++的争论很火,起因是linus的一篇批评C++的mail.

    很多"大家"已经发文说了很多了, 我在这里也不想陷入语言之争,只想提醒大家一件往事.

    很久很久以前,世界还是以欧洲为中心的时候,法语被认为是最优美的语言,词汇和发音有很多变化.听人说法语就像在听歌,韵律优美.开国际会议的时候,大家都说的是法语.(就像当年的C)

    但是,这个时候,有人觉得法语太复杂了,不便于,人们学习,所以,特地发明了一种无根的语言------世界语.这种语言和法语有点像.

    世界语出来后,一度被认为是国家无关的语言,受到部分第三世界国家的文人的推崇.

    但是,一个国家无关的语言真的是合适的世界语么???

    现在的世界语是英语,处于第二语言地位的是法语.世界语早已不见踪影,只在google的搜索语言支持里有一项而已.

    C++的尴尬地位就和世界语一样.平台无关?ISO标准?

    这些东西最终害死C++.

    回到语言上来说,英语这种发音没有法语优美,拼写比世界语复杂的二流语言之所成为世界性语言,是因为美国.

    美国集中了世界最聪明的科学家和工程师,当他们都使用用英语的时候,英语就成了"世界语"!

    在计算机语言界,只有大厂商支持的语言才能走的远,Java有IBM和半死不活的SUN,C#/C++CLI有微软,

    C++有什么??

    ISO????

    ISO做软件么??

    ISO甚至不写代码.

    让一个不写代码的机构制定C++标准?和让一个哑巴来制定语言有什么区别???

    这让C++和当年世界语的处境很相近.

    C++社群愚蠢的拒绝了微软的橄榄枝C++/CLI,导致最后一个可能支持C++的大厂商心灰意冷.

    这就是C++的灭亡之路.

    不过,好消息,是C++程序员的工资会和当年COBOL程序员一样飞涨~

    :)

    #irplay 发表于2007-09-11 23:43:07  IP: 221.225.33.*
    买了本写系统的书,准备写个系统玩玩....里面80%是汇编,20%是C.....
    #icr_mio 发表于2007-09-12 02:19:49  IP: 61.51.148.*
    哈哈,好久没有看评论看得这么爽过了。
    #redex 发表于2007-09-12 08:40:03  IP: 218.28.20.*
    "OO又不是只有抽象,C++比C明显的优势就是更合理的数据封装。不如说Torvalds对OO还没有入门。"

    =========================================

    典型的无知者无畏, 莫非又是一个刚刚涉足行业的cpper??
    #redex 发表于2007-09-12 08:44:43  IP: 218.28.20.*
    "OO又不是只有抽象,C++比C明显的优势就是更合理的数据封装。不如说Torvalds对OO还没有入门。"

    =========================================

    经典!!!
    无知而又无所畏惧的cpper们的又一精彩爆料, 大家鼓掌 !!! 哈哈哈.
    #middle 发表于2007-09-12 09:10:56  IP: 221.222.9.*
    To linkerlin:

    你的推理正确了一半。大厂商支持一个语言和这门语言本身的特性是互为因果的。

    如果一门语言的定义简单,compiler易于实现,功能有不可替代,那么大厂商没有理由不支持。比如C。

    如果一门语言太复杂,而适用的优势范围又不明显,那么大厂商支持的热度也必然减退。
    #duyanning 发表于2007-09-12 09:17:39  IP: 221.11.38.*
    Torvalds既然对于抽象这么不屑一顾,那就索性有种连struct也不要用。

    还要
    struct kernel_stat {
    unsigned long st_dev;
    unsigned long st_ino;
    ......
    };
    干吗?

    弄成
    unsigned long st_dev_here;
    unsigned long st_ino_here;
    ......
    unsigned long st_dev_there;
    unsigned long st_ino_there;
    ......
    一堆全局变量。

    岂不更灵活?更不依赖于“漂亮”的抽象?
    #duyanning 发表于2007-09-12 09:23:48  IP: 221.11.38.*
    Torvalds既然对于抽象这么不屑一顾,那就索性有种连struct也不要用。

    还要
    struct kernel_stat {
    unsigned long st_dev;
    unsigned long st_ino;
    ......
    };
    干吗?

    弄成
    unsigned long st_dev_here;
    unsigned long st_ino_here;
    ......
    unsigned long st_dev_there;
    unsigned long st_ino_there;
    ......
    一堆全局变量。

    岂不更灵活?更不依赖于“漂亮”的抽象?
    #duyanning 发表于2007-09-12 09:26:15  IP: 221.11.38.*
    更正一下:

    一堆全局变量。=>分布在代码各个角落的堆堆变量、参数。
    #Could 发表于2007-09-12 09:27:07  IP: 220.231.194.*
    Linkerlin:
    C++灭亡?你这辈子估计看不到了吧。
    只要C不会死,C++就不会死。
    我怎么就觉得近来用C++的人越来越多了呢?

    国内招聘C++的公司确实相对较少,
    因为C++是用来做“软件”的,不是用来做项目的。
    国内有哪个公司可以称得上是“软件公司”呢?
    #Mephisto_76 发表于2007-09-12 09:31:36  IP: 221.6.3.*
    好像linus放个屁,都有人赞他放的好。

    linus写程序是很强,但他不是神仙。他做中餐就必然比不上我。不信叫他来比比,我就这么拽。
    #r_mosaic 发表于2007-09-12 09:44:16  IP: 211.167.159.*
    俺在大学里学了两个学期的 C++、一个学期的 C,加上自己自学了一个学期的 C,再加上四年的练兵之后,已经觉得用 C 能够实现 C++ 能实现的所有功能了,于是就无所谓了……呵呵。
    #Could 发表于2007-09-12 09:47:21  IP: 220.231.194.*
    linus说的并没有错,
    对于这样的开源项目,
    如果用C++做,
    就会存在被人轻易改动的可能性,
    反而变得难以维护。
    但是为什么会容易被轻易改动呢?
    因为C++用来更简单。

    但是有些人片面理解,
    认为linus就是彻底抨击C++,
    一些C的顽固分子刚好可以扁扁C++,
    而那些曾经学C++受到沉重打击被伤过自尊的伪cpper,就更加趁此机会贬低C++以安慰一下自己,掩耳盗铃的把戏而已了,争一下也无所谓。
    #r_mosaic 发表于2007-09-12 09:48:51  IP: 211.167.159.*
    如果你真的钟爱抽象,请使用 C#/Java。如果你真的喜欢底层,请使用 C。如果你喜欢尝试新事物,请使用 C++。
    #AminSuper 发表于2007-09-12 10:57:23  IP: 121.34.67.*
    std::string s(“Linux Torvalds");
    std::string scopy = s;

    但是没有任何一个人能够在不了解更多信息的情况下清楚地描述背后所发生的事情
    ----------------------------------------------------------------------
    只能说你放屁,难道strcpy(),你能确保每个C编译器运行库都是一样处理吗?

    建议您老还是使用汇编好了,Oh~对不起,你也不能使用汇编了,因为你也不能确保AMD的CPU和Intel的CPU对每条指令的处理都是一样的.
    #lukifu009 发表于2007-09-12 12:06:54  IP: 124.74.234.*
    楼上有几位说的很对,这些语言各有各的优劣。完美无瑕的东西是不存在的~
    PS:最近国内招聘C++程序员越来越多了~~
    #middle 发表于2007-09-12 12:29:22  IP: 221.220.237.*
    楼上有几位说的很对,这些语言各有各的优劣。完美无瑕的东西是不存在的~
    PS:最近国内招聘C++程序员越来越多了~~

    ====================================

    Linus是在讨论语言的完美无瑕这个问题吗?

    如果一个公司有C++代码需要维护,那么招聘的时候一定会专门考C++知识。但是如果一个公司有script,Java,C,C++同时需要维护,在考试的时候不一定都要考。因为C++太偏太难了,而其他语言相对来说学习比较容易。所以招聘的表面统计是有假象的。
    #zemola 发表于2007-09-12 15:26:16  IP: 60.191.114.*
    工作几年中.从来C#开始..一直自学到C...用了2年linux
    windows c和linux c的感觉是无论做C#和VC..程序不可控且无法活跃思维,像在一种不停通过拼凑和复制的无聊砌墙游戏..而在linux上你可以掌握的更多.更多的主动权.所谓源码面前无秘密.虽然辛苦但能享受快乐.

    C++对于初学者也是这样的..封装了好意味着了解少.思考的也少.太多类库可供实用.
    C可以让初学者了解的更多,,细节..类似数据结构和算法,指针对内存的操作..
    这里从思维的创造的角度,来说C更具魅力.从个人的控制欲来说也是这样..
    而从思维的清晰度来说..使用C++包装一个类..给你以清爽的手感,能激发大家编写漂亮代码的冲动..

    就像电影<<The Devil Wears Prada>>..一个崇尚时尚华丽,一个回归朴实..C语言更像是一件麻布,它的作用是取暖,你可以用它做成自己喜欢的,漂亮的衣服,C++更像高级成衣,你不需要的设计,你要做的是搭配好它,穿的更漂亮.

    在使用上更像现代管理风格中,直接,高效型领导和间接,技巧型领导
    虽然C++良好的包容了C,但是却是迥然不同的两种风格.
    对于做累了C语言的程序员.C++是不错的升级感受.

    写在最后对于两者的优缺点...同仁们也都了解..
    我个人崇尚C...那是年轻人喜欢的风格..
    这里让我猜想起来打CS...喜欢C的人.喜欢直接闪出来对枪,C++的可能会喜欢先扔个闪光弹,再闪出来对枪...呵呵..



    #zemola 发表于2007-09-12 15:27:31  IP: 60.191.114.*
    工作几年中.从来C#开始..一直自学到C...用了2年linux
    windows c和linux c的感觉是无论做C#和VC..程序不可控且无法活跃思维,像在一种不停通过拼凑和复制的无聊砌墙游戏..而在linux上你可以掌握的更多.更多的主动权.所谓源码面前无秘密.虽然辛苦但能享受快乐.

    C++对于初学者也是这样的..封装了好意味着了解少.思考的也少.太多类库可供实用.
    C可以让初学者了解的更多,,细节..类似数据结构和算法,指针对内存的操作..
    这里从思维的创造的角度,来说C更具魅力.从个人的控制欲来说也是这样..
    而从思维的清晰度来说..使用C++包装一个类..给你以清爽的手感,能激发大家编写漂亮代码的冲动..

    就像电影<<The Devil Wears Prada>>..一个崇尚时尚华丽,一个回归朴实..C语言更像是一件麻布,它的作用是取暖,你可以用它做成自己喜欢的,漂亮的衣服,C++更像高级成衣,你不需要的设计,你要做的是搭配好它,穿的更漂亮.

    在使用上更像现代管理风格中,直接,高效型领导和间接,技巧型领导
    虽然C++良好的包容了C,但是却是迥然不同的两种风格.
    对于做累了C语言的程序员.C++是不错的升级感受.

    写在最后对于两者的优缺点...同仁们也都了解..
    我个人崇尚C...那是年轻人喜欢的风格..
    这里让我猜想起来打CS...喜欢C的人.喜欢直接闪出来对枪,C++的可能会喜欢先扔个闪光弹,再闪出来对枪...呵呵..
    #cchuier 发表于2007-09-12 15:28:32  IP: 219.147.243.*
    听说爱因斯坦牛顿爱迪生之类晚年都脑袋有一定问题
    现在看这是趋势...
    #zengjd 发表于2007-09-12 17:38:52  IP: 192.168.168.*
    Linus Torvalds的成功是政治因素而不是技术因素的结果。
    换句话,Torvalds是领袖,而非大师。
    L粉们都是追星族。
    =========================
    同意。Linus Torvalds以为他自己如何如何了?
    飘飘然了?
    一个好一点儿的计算机硕士毕业的学生。
    写一个操作系统的内核绝对是应该办到而且肯定可以办到的事儿。
    其实Linus Torvalds不过是在正确的时间做了正确的事情而以。
    如果没有MS,不会有这样一个猥琐的人让大家记住。
    从以前见过他的相片。到现在看见他发表意见的口气。
    就知道他是一个彻头彻尾纯粹的垃圾。


    L粉们其实和超女的“粉丝”一样,
    是一群头脑发热,神志不清盲目崇拜的人。
    因为Linus Torvalds会写操作系统。
    所以崇拜。
    这个理由就如同超女会唱歌所以崇拜一样。


    #zengjd 发表于2007-09-12 17:40:43  IP: 192.168.168.*
    Linus Torvalds的成功是政治因素而不是技术因素的结果。
    换句话,Torvalds是领袖,而非大师。
    L粉们都是追星族。
    =========================
    同意。Linus Torvalds以为他自己如何如何了?
    飘飘然了?
    一个好一点儿的计算机硕士毕业的学生。
    写一个操作系统的内核绝对是应该办到而且肯定可以办到的事儿。
    其实Linus Torvalds不过是在正确的时间做了正确的事情而以。
    如果没有MS,不会有这样一个猥琐的人让大家记住。
    从以前见过他的相片。到现在看见他发表意见的口气。
    就知道他是一个彻头彻尾纯粹的垃圾。


    L粉们其实和超女的“粉丝”一样,
    是一群头脑发热,神志不清盲目崇拜的人。
    因为Linus Torvalds会写操作系统。
    所以崇拜。
    这个理由就如同超女会唱歌所以崇拜一样。


    #zengjd 发表于2007-09-12 18:11:29  IP: 192.168.168.*
    Linus Torvalds的成功是政治因素而不是技术因素的结果。
    换句话,Torvalds是领袖,而非大师。
    L粉们都是追星族。

    Linus Torvalds以为他自己如何如何了?
    飘飘然了?
    一个好一点儿的计算机硕士毕业的学生。
    写一个操作系统的内核绝对是应该办到而且肯定可以办到的事儿。
    其实Linus Torvalds不过是在正确的时间做了正确的事情而以。
    如果没有MS,不会有这样一个猥琐的人让大家记住。
    从以前见过他的相片。到现在看见他发表意见的口气。
    就知道他是一个彻头彻尾纯粹的垃圾。


    L粉们其实和超女的“粉丝”一样,
    是一群头脑发热,神志不清盲目崇拜的人。
    因为Linus Torvalds会写操作系统。
    所以崇拜。
    这个理由就如同超女会唱歌所以崇拜一样。
    #loops 发表于2007-09-12 21:34:55  IP: 58.31.17.*
    STL vc6 vc7 vc8 实现各不相同,更不提g++了,如果追求效率的话,实在是烦恼
    #middle 发表于2007-09-12 21:45:53  IP: 123.113.21.*
    To zengjd:

    哪个东西不是时势造英雄?照你这么说,C++的设计者也不过只是在正确的时间做了正确的事情而已。你的照片一定很伟岸吧。

    能够在众多的竞争者中取得现在的成绩,Linus在Linux的发展中做出了很多正确的选择,也通过卓越的沟通推动形成了良好的社区环境。事实是胜于雄辩的。
    #bamanzi 发表于2007-09-12 21:52:01  IP: 121.34.24.*
    有兴趣的可以仔细阅读一下 C++?? : A Critique of C++
    http://burks.brighton.ac.uk/burks/pcinfo/progdocs/cppcrit/

    它的最后更新是在1996年,所以有些东西可能不太准确了。

    没怎么见到中文翻译。以前还能看到前面一部分的翻译,但现在google上也找不到了。
    #bamanzi 发表于2007-09-12 21:59:30  IP: 121.34.24.*
    > std::string s(“Linux Torvalds");
    > std::string scopy = s;

    仅了解那一个实现是不够的。比如一个C++写的动态库,里面有个函数的参数是std:string,你得知道人家是用什么STL实现,是微软那个? 是stlport? 是g++的libstdc++? 是Rouge Wave STL? 不知道怎么行,搞不好会崩溃的。

    然后,用哪个版本的编译的? VC6编译的怎么跟VC7编译的不兼容呢? 啊,g++编译的? 得再找找有没有vc8编译的版本?

    一切都搞懂了,接下来这个字符串怎么转换成LPSTR, LPCSTR, char*, wchar_t*, BSTR? TAnsiString? TWideString?
    #bamanzi 发表于2007-09-12 22:01:07  IP: 121.34.24.*
    > std::string s(“Linux Torvalds");
    > std::string scopy = s;

    仅了解那一个实现是不够的。比如一个C++写的动态库,里面有个函数的参数是std:string,你得知道人家是用什么STL实现,是微软那个? 是stlport? 是g++的libstdc++? 是Rouge Wave STL? 不知道怎么行,搞不好会崩溃的。

    然后,用哪个版本的编译的? VC6编译的怎么跟VC7编译的不兼容呢? 啊,g++编译的? 得再找找有没有vc8编译的版本?

    一切都搞懂了,接下来这个字符串怎么转换成LPSTR, LPCSTR, char*, wchar_t*, BSTR? TAnsiString? TWideString?
    #wentback 发表于2007-09-12 23:01:01  IP: 124.207.170.*
    不知为什么, 看了后,让我想其了 bullshif
    #bjoooo 发表于2007-09-13 01:47:47  IP: 221.232.226.*
    无聊的争论,就像是争执镰刀和锤子那个更优秀一样。这两个虽然是孪生兄弟,但是生来就不是同一个市场面的。
    C++会不会淘汰,市场说了算。
    剪刀使用了几千年也没淘汰,为什么?
    因为制造技术成熟,简单,易用。
    ---候捷老师对此事件的评价
    #luyiping 发表于2007-09-13 12:51:26  IP: 192.168.0.*
    某日,
    夜黑风高,
    各大门派有一次汇聚华山之巅。
    这次主要对抗的是两大门派:西派和西加加派,
    其余派别还有:爪哇派,西夏派,伟比派,戴尔飞派,派森派,路比派等等
    当然还有CCTV,MTV捧场

    此次挑起事端的是一位在西派中德高望重,有着深厚功力的侠士,曾一手创造了力那克丝,他撂下一句话说,“西加加派的武功根本不堪一击,尽是一些花里胡哨的招式,而且更悲惨的是一大群不懂武功