第68章 BRUCE(上)
捧着票一夜难眠,第一次看到BRUCE先生照片就是在《THINK IN C++》的书封上,后来又在大量的和程序相关的杂志和网站上看到过很多关于他的报道。自己和他的关系是既熟悉又很陌生,熟悉他编程的一面,陌生他生活的一面,现在终于能够在此相遇,也算是一种莫大的缘分。
朝阳刺破南特11月的薄雾,刺到我睡意正酣的脸庞上,无奈的争开朦胧的眼睛,睡着的太晚,现在醒来还闲太早,一阵疲惫向大脑侵袭过来,看了一下时间已经10点。奋力的告诉自己再睡不行了,今天还有BRUCE的演讲,在法国呆长了,也感染上他们懒散和晚起的毛病。
赶到科技馆时,叶雪大概已经等了我好久。这点可以从她脸上不耐烦的表情看出来。
“你来的也太晚了,你看看还有几个位置。”
抱歉的笑了笑,一起走进会场,里面的座位已经彻底爆满,连走道上都站了不少人,“完了,我们站站吧。”没想到会有这么多人,要怪只能怪BRUCE先生太有名。
叶雪狠狠的瞪了我一眼,没好气的说道:“我已经让朋友在前面占了两个座位,幸好没指望你。”一边说着,一边把我拉到前面,果然有两个位置不错的座位空在那边,一个大概是叶雪同学的法国女孩向我们这边招了招手,喊我们坐了进去。
焦急的等了一会,BRUCE先生终于来了,全场响起了热烈的掌声,和照片中相比,现实里显的更有活力,此刻他微笑着向在场的每个方向挥了一下手,匀速走到了台前。
叶雪鼓掌鼓的似乎特别用力,看我一副无动于衷的样子,问道:“你怎么都没反应呢,他和你关系应该不浅啊。”
没反应!我是表面平静,其实心里却掀起了巨大的波澜,恨不得现在就站起来表明身份。
配合着拍了几下手,BRUCE已经走到前面,示意我们的掌声停下来。对着话筒清了清嗓子,这个动作让下面的人笑了起来,彼此的距离拉近了很多。
“很荣幸能够站到这里和大家谈心,注意我的话,是谈心,不是演讲,更不是讲座。”BRUCE的声音很有穿透力,说的话更具有亲和力。
“也许在场的部分人是来听我讲OO(面向对象)的,一部分是来听我对于开源的看法,也许还有部分是来凑热闹,希望听一些小故事的。所以,我想与其不能满足所有人的愿望,还不如什么都不讲,我就讲编程,从开始说起。”
“从开始讲起,”坐在下面的我愣了一下,这句话给我的感觉好熟悉,那是自己在技术论坛上发表了数篇自以为是的文章之后,BRUCE给我的信中包含的一句话,“一个伟大的程序员,已经不存在系统程序员或者高级程序员之分,他就是一个程序员,很纯粹,从机器语言到汇编器,到编译器,到无数高级应用程序,你可以从最开始学起。”
“机器语言。。”BRUCE的声音刚出来,下面起了一阵喧嚣。
“对对,当然,你们可以忽略,那么汇编,除了硬件固件程序员还用的比较多,时至今日,也越来越少的被使用,不过我劝你们还是彻底理解,这样至少不会问出FOR(INT I=0;I<;3;I++)和FOR(INT I=3;I<;0;I--)谁的执行效率更高这种无聊而又值得了解的问题。”
啊,这个问题不正是我当年问过的,多少年了,久远的我几乎忘记,此刻,那种模糊到若有若无的记忆才再次隐约的浮现到脑海里。
“你说对于高级程序员没有必要理解具体编译的过程,上帝,该死的编译器会产生多少垃圾,我是说如果优化的不好。另外虽然你未必去写一门语言,但很多软件还是需要独立的脚本语言支持。”
“JAVA的垃圾收集机制本身是垃圾?很有见地啊,我认为你可以直接向JEAMS本人去说,也许你以后可以在SUN工作。”
“世界上只需要C++!没错没错,任何一种语言都具有完备的功能集,我们也可以说这个世界只需要PERL,LISP,甚至是BASIC,COBOL都可以,也许我可以告诉你这个世界只需要‘与或非’就可以。”
。。。。。。
场面渐渐变的热烈起来,法国学生问的很多问题都很刁钻,根本不会顾及BRUCE先生的感受,也正因如此,那些新鲜有趣的问题让我都觉得特别有意思。
“小毅,你说我们提个刁钻的问题难一难BRUCE好不好?”一边兴奋不已的叶雪忽然问道。
当然不好了,何必没事找事呢!我正想拒绝,叶雪已经站了起来,要过话筒问道:“BRUCE先生,您说编写一个操作系统困难还是做一个管理软件困难。”
全场顿时因为叶雪的问题安静了下来,然后猛的爆发出一阵鬼哭狼嚎的笑声,我也感觉有点苦笑不得,这个问题纯粹多余了。
BRUCE先生却反常的沉默了下来,右手托在下巴上,那种认真思索的模样绝对不是装出来的。
良久,BRUCE抬起头,脸上挂着微笑的表情,问道:“这位同学你自己认为呢?显然一个管理软件比起操作系统来说其复杂性是微不足道的”。
“我,呵呵,我到觉得不一定啊,从技术上来说确实是这样,但从感情上说,编写操作系统可以天马行空,思路横飞,程序员要做的就是怎样才能和机器相处的更加和谐。”叶雪笑着,停顿了一下继续道:“但编写一个管理软件,就意味着你必然为某项管理服务,你必须考虑用户的习惯,遵循一些个条例,设计什么样的报表等等,所以就成了一种负担,相比之下,还是设计操作系统比较容易一些。”
全场再次安静了,包括我在内。这话还真的有点道理,不得不细细品位一番。
“不错不错,很有道理,好久没有听到这么有见地的话了,我也想问你一个问题,操作系统和管理软件调试起来哪个更容易呢?”BRUCE想了一会后大声的赞叹,向叶雪提了一个问题。
“啊!我想想。”叶雪相必对这个问题没有准备,刚向我竖起的大拇指焉了下去。
抬头看了看四周,全场的人都陷入了沉思,大家已经对叶雪的问题有了极大的兴趣,这个连续性的问题自然不能放过。
“这位同学,看你似乎了然于心的样子,不如给我们说一下你的想法如何。”BRUCE的声音传到了我耳朵里。
哪个家伙这么倒霉!我幸灾乐祸的想着,四望了一下,并没有人站出来,感觉自己的手肘被叶雪重重拍了几下。
“干什么?”转过头来,发现叶雪正挤眉弄眼的朝我笑着。
“中奖了,BRUCE先生喊你!”
喊我?疑惑的朝前面看去,果然BRUCE正用带着微笑的眼神直视着我,分明就写着:对,就是喊你。
没想到倒霉的人是自己,无奈的站起身,接过话筒,心底却犯难了,如果问题是如何解决进程同步,死锁解除,或者是建立文件系统各类和操作系统有关的问题,自己可以一下回答出来。现在的这个问题我就头疼了。
似乎无数的视线都集中到我的身上,但我还是什么都没说,空气凝结了已经有10几秒,不知道多少目光从等待变成了焦急。我无暇顾及这些,无数的想法从脑际中闪过,如果说开发一个管理软件是雕刻一件客户要求的精致工艺品,那么开发一个操作系统就等于自由的雕刻一件宏大的艺术作品,其中的难度不言而喻,调试呢,脑际中忽然闪过一些想法。
“操作系统,因为大家都知道操作系统的复杂性,所以即使发现问题也会表示理解,而管理软件用户面小,用户比较专业,对要求必然苛刻,比较之下,还是操作系统易于调试。”我朗声把自己的想法说了出来。
众人哗然,我的答案再次出人意料,全场大半的眼睛都向BRUCE先生看去,等待着他的评论。BRUCE神情俨然,似乎在仔细琢磨我的意思,过了一会,眉头舒展开,朝着我们的方向竖起一个大拇指道:“很好很好,如果这是你们真实的切身的想法,那你们都是好样的,VERY GOOD,我相信只有无数经历的程序员和深爱着编程的人才能体会到这一点,能不能告诉我,这真的是你们自己的体会吗?”
和叶雪面面相觑了一阵,回想起自己这么多年编程的历程,随心所欲的编写自己喜欢的东西果然是最大的快乐。我忽然想到BRUCE当年对我说过的一句话,当时没想明白,随后就淡忘了,此刻忽然想起,忽然有种豁然开朗的感觉,动情的说道:“BRUCE先生,我忽然想明白一句话,程序该被他的内部逻辑而非外部表现所指引,程序员所钟爱的很大程度上是程序中所达到的完美的逻辑,而外部的东西只是拿出来与众人分享快乐的手段,对吗?”
BRUCE完全愣住了,眼神里透出不相信的表情,好久才迟疑的问道:“你说的很对,因为这也是我曾想到过的,不敢相信你有这么成熟的想法,请问,你叫什么?”