杂家与集成

杂家与集成

——读《Windows编程循序渐进》之随感

http://www.china-pub.com/39896

静盛送给我一本书,是《Windows编程循序渐进》,他则是书的作者。这样的事也常有,我也不常为此而写文章,尽管近些日子我写的书评看来是多了,但多是闲了或得有所感的缘故,不唯独出于情面。

静盛的书是讲VC++开发的,我不懂。我不太用C/C++,偶尔出于工作的需要,也看这些代码,也算得上熟,但自己不写。不写,就没有发言权。所以我不说代码,单说对这书的感觉。

首先是实用。我多年前初学开发时,是从抄《电脑报》上的代码开始的。要自己写代码,自己调试过,又一遍遍在上面叠加自己的想法而后成为产品(或完整示例),从而才会锻炼出开发的基本功,才会有开发人员的感觉。只有面临BUG,一个个地Fix,才会磨出开发人员的耐心。就我所知,除了泡在代码里面,想成为开发高手,别无它法。静盛的这本书,就是一本浮在代码上的书。大量的示例,基本涉及了Win32开发的各个方面,足以为学者所借鉴。至少而言,可以相应的领域中找到一个入口。

其次是直接。静盛的文字风格相当直接,三言两语讲完示例的背景,几个条目一列要点,接下来就是代码。一张繁杂的图例之下,少见啰嗦不休的分析,而仅仅是几个干瘦的条目。静盛不在乎您是否有相当的基础,也不在意你是否专业专学,只要你读明白这些说法——或不是学术的,或不是理论的,但终归是个“说法”——你就可以读下面的代码了。你只要能读代码,能用,能开始基于它去修改,静盛的目的也就达到了。

最后是庞杂。书中所涉面极多,甚至你都会怀疑作者是不是广抄穷积之人。好在我对静盛以及他在盛大的工作多有了解,故而没有这种顾虑:书中所写的,大多是他所用所知的,有些网上的摘引,也是分析和研究过,而不是乱堆代码。

而庞杂这一点,也反映了静盛的个人兴趣特点。人有专学杂学,师有专家杂家,静盛便是杂家这类。在盛大,静盛(以及与他性格相类的同事)多是救火队员。他们的大多数时候的工作,就是立即分析一个问题或入手一项新的技术。无论该技术是怎样复杂,或与他既有的知识如何不搭界,他的必须在尽可能短(例如2~3天)的时间内给出答案。这答案可能是:我们的方向错了,或我们可以在接下来的确定时间内完成,或者就是一套示例代码。这样的人才,在盛大是很多的,分布在各个领域中。最奇特的是,他们很多时候难于固定在一个岗位,或长期在某个项目中。这就是“杂家”的特点,所学杂,所用快,所面向的对象也丰富。

这也要求象静盛这样的人不单要庞杂,也要象他的书一样直接、实用。解决问题是第一要务。我曾经遇到过一个例子,是在写杀毒软件的时候,某段代码总是莫名其妙的出异常,无论怎样分析都看不出逻辑错在哪里,调试跟踪时也不出错。代码卡在这里很长时间,直到后来AV95的作者周辉过来,就在前面加了两三个nop指令(汇编指令,是空语言),然后一切就太平了。问他,他说得也很简单:代码对齐。

如果就这四个字,要搞明白基本原理,得从编译器入手;讲清楚,得从CPU指令流水线开始。但解决问题的方法,就是从1个到3个nop指令逐个去试,简单得很。所以,务实者不见得非要明白问题或解决方法背后的原理,只要这个方法可用可行,立即去用就可以了。

总结这些之后,我发现这其实不单是该书的风格,而差不多代表了盛大的风格。无论是在用人、治事,亦或者组织结构和管理风格上,盛大差不多就是实用、庞杂和直接这样的风格。想到这里,我似乎又看到了我在盛大时的团队。我很怀念这样一个团队:充满着灵性和激情,时时会有火花迸出来,而又时时期望于它的灼烧。然而一切,便隐隐在平静的表面之下,繁忙、琐碎、按部就班而又努力突破自身。

这便是我所知的张静盛了,这便是我知的盛大平研了。静盛在书底所留的照片,背景便是我曾经的工作场所,灿烂光明、拧扭着巨硕的钢条与管道,如同游戏中的场景。而在那之下,在盛大的文化中,象静盛这样的杂家们,何时方能集大成呢。我观望,而又期待着。

此时,我看着这册《Windows编程循序渐进》,似也看到了一个个渐进而来的集成者,看到了他们斐然的成就与勤勉的步伐。