我刚刚看到华中科技大学新近出版的一本新书《多任务下的数据结构与算法》,作者周伟明。这本书的主题虽然是被无数次重复过的数据结构和算法,但是由于加了一个“多任务”的帽子,就焕发出了光芒。多核时代已经到来,所以我们过去的很多经验都需要刷新了。这本书的作者显然在这方面有很丰富的经验,书中从多任务的观点出发,针对很多传统的数据结构和算法设计都作了探讨。比如提到STL中传统的iterator在多任务情况下要么会出错,要么会导致分时效率低下,并且给出一个新的iterator,以适应多任务的要求。可见确实是经验之谈。
不过最令我感到震动的,是这位作者对COM的严厉批判。说实话,我见过抱怨COM难用的,我自己也经常抱怨COM不好理解,但从来没见过对COM持否定和严厉批判态度的。这位作者在他的书中这样写道:
“对于模板库,或者任何一种技术,都得看应用的场合。其实,任何一种思想和方法的滥用都会导致严重的后果。就像设计模式的滥用一样。例如,COM的滥用导致现在软件质量的严重下降。COM的设计可以说是软件史上最严重的一次设计失误,COM的设计违反了软件设计的基本原理,但就这样一个设计居然被推广到整个业界使用,造成的危害实在太大了。我们可以看到,很多常用的软件的BUG越来越多,动不动就死掉或要求发送错误报告什么的,很多情况估计都是拜COM所赐。虽然微软现在再也不敢提COM了,但它的副作用短期内仍然难以消除,特别是在中国,谈到设计时很多人现在还在言必称组件。”(1.1节)
“即使是一些著名大公司开发的软件依然达不到很高的质量,经常出现版本升级越高BUG越多的情况。也许有人会问,这不是在危言耸听吧?其实读者只要看看自己手头经常在用的操作系统和办公软件就知道为什么说这句话了。”(1.5节)
“像前面提到的COM一样,实际上是一种设计模式,但是被不加限制地推广给用户使用,而大部分用户的水平还没有上升到懂得在什么情况下该使用什么设计模式那么高的层次,后果便是设计模式被滥用,于是我们看到大型软件的质量是越来越糟糕。”(1.5节)
坦率的说,我对于作者的观点是不赞成的,我手上没有证据表明是COM导致了微软软件质量的下降(真的下降了吗?至少我不觉得今天的Word 2003比10年前的Word 95更容易崩溃。)。不过我赞赏这位作者敢于说出自己真实想法的勇气。因为怕得罪人,或者怕被人拍扳转,而不敢把自己的想法说出来,是我们中国开发者的一个毛病。对什么事情有了看法,敢于说出来,而且敢于写在正式发表的文章和图书里面,这在今天是需要勇气的。只有勇于提出异议,才能够引起争论,加强认识。也许,你揭穿的真的就是狗皮膏药,皇帝的新衣。
可惜的是,作者在做出一些论断的时候,并没有给出确凿的论据。也许是因为这本书的主题并不是“组件技术批判”,不宜离题太远吧。不过我很希望作者有机会能把自己的观点系统地阐述一番,并且产生一些争论。不管怎样,这对于提升大家的认识还是大有好处的。也希望听到其他朋友对于COM以及这位作者的观点讲出自己的看法。
分享到:
相关推荐
人工智能时代批判性思维能力的提升策略--思维图示的应用对小学生批判性思维能力提升的实证研究.pdf
0.8元必做答案作业2 逻辑与批判性思维训练pdf 1必做逻辑与批判性思维训练作业题.pdf 2必做作业答案逻辑 与批判性思维训练作业题pdf 2元参考普通逻辑学综合练习题及其答案pdf 3参考普通逻辑学综合复习资料.pdf ...
畅销谎言:对错位工作观念的重磅批判
哥达纲领批判-原文[汇编].pdf
逻辑与批判性思维复习资料,内部包含完整的复习资料逻辑与批判性思维复习资料,内部包含完整的复习资料逻辑与批判性思维复习资料,内部包含完整的复习资料逻辑与批判性思维复习资料,内部包含完整的复习资料逻辑与...
人脸识别技术的课堂应用:一种批判性反思.pdf
批判性思维原书
政治经济学批判导言读书笔记.pdf
美国纽约州立大学德里校区荣誉退休教授,是国际公认的...其代表作还有:《思维的艺术》(1984)、《成为批判的思考者》(1989)、《批判地思考伦理问题》(2007)等等,他的许多书都出了多个版本,深受学生和广大读者的欢迎
批判理论视域中的互联网时代——网络批判理论概述.pdf
拒绝批判式思维,追求批判性思维。批判式思维是简单、粗暴的思维,不求甚解,只会往你头上戴帽子。批判性思维是你决定接受或拒绝某种观点的一种思考方式。
创造力和批判性思维是在工作场所取得成功必不可少的两种能力,受到雇主的高度追捧。 但是,有证据表明,高级工程专业的学生会减少创造力和批判性思维。 这项研究试图了解新生的工科学生是否比高年级的工科学生更具...
人工智能时代无产阶级的历史使命——对赫拉利“无用阶级”理论的批判
批判性思维 CriticalThinking (美)理查德.保罗
政治经济学批判.doc
批判性思维指南.读书笔记
三严三实对别人批判.docx
对当前企业文化的批判.doc
批判性思维原理和方法.ppt
其次,我们表征和批判性地评估教科书中的数学内容,尤其侧重于该书所培养的数学素养和学生推理。 第三,也是最后,我们对教科书中的数学“密度”进行了测量,即对数学对象和实践相对于其他学科内容的存在和普遍性的...