visual c++ 技术内幕第四版修订版
今天在图书馆看到一本“新书”:《Visual C++技术内幕(第4版)修订版》,心想这么古老的书居然又拿出来重印。这本书我很多年前就买了,虽然为自己的眼光自豪,但是还是感觉很奇怪。下面是作者新做的序,看了之后心里不知道是什么滋味。
十年后的修订
《Visual C++技术内幕(第4版)》是一本富有传奇色彩的计算机图书。它的作者不幸遇难,留下了第4版绝笔;它压倒了第5、6版的锋头,现在要重印这一版本也说明了这一点。对于像我这样的早期Visual C++程序员,这本书就像一首经典的老歌,曾经伴随我们度过了多少个编程之夜。这几年我偶尔翻看仅存的一本样书,脑子里浮现的全是记忆。
1997年秋季开学后,我从王国印老师手中接过这本书的翻译工作,当时我由于健康原因无法再继续从事软件研发工作,想着最好还能做点有意义的事情,便开始了这本书的翻译。这是我第一次翻译技术图书,以前从没想过要做这样的事情,现在只求力所能及做一点,这是我当时的心态。尽管如此,我也不敢轻视,整个过程非常谨慎,力求译文准确。还好,技术方面几乎没有任何障碍,书中介绍的绝大多数技术我都用到过,可谓了然于胸。但身体确有些吃不消,记得那段时间我每天还要熬药,如果这不是用电子稿而用纸稿来完成的话,这本书的译稿一定充满了中药味。即便如此,我也不敢耽误时间,4个月左右便完成了整本书的翻译,每一章还检查了两遍。交稿以后不再挂念这本书,到1999年1月出版时,很是惊喜地看到了自己的第一部作品。
时隔十年,当2008年12月龙启铭编辑告诉我,出版社计划要重印《Visual C++技术内幕(第4版)》时,我曾经写过一篇博文,大意是更应该重印第6版,毕竟第6版针对Visual C++ .NET(相当于Visual C++ 7.0),而第4版针对Visual C++ 5.0,而且,第6版新增加了部分内容。第6版也是我翻译的,所以我很清楚两者的内容。但是,从感情而言,我很愿意看到第4版重印。
十年前,开发Windows应用程序的可选工具和语言并不多,Visual C++和MFC当然是首选的开发环境和支持库。但今非昔比,随着.NET的普及和完善,Visual C++和MFC正在淡出主流。Visual C++的拥护者,譬如我,可以列举出足够多的理由来说明它的不可替代性。尽管周围越来越多的人在使用其他的语言开发Windows程序,MFC也乏人问津,但是,从技术角度而言,Visual C++依然是最为强大的编程语言之一,特别是对于开发Windows程序,而MFC作为应用程序框架类库,我认为迄今仍无出其右者,它成了Windows程序设计的C++封装典范。这十年中流行的各种设计模式,在MFC类库中几乎都能看到非常恰当的应用。MFC类库在技术应用上是如此成功,以至于Windows程序的各种新颖界面元素,始终可以在MFC基础上实现。Microsoft提供的MFCNext是在MFC上的一个扩展包,利用MFCNext可以很方便地建立起拥有Office、Internet Explorer或Visual Studio界面风格的Windows程序。
从学习的角度而言,我一直坚持这样的观点:学语言应该学C++,要开发Windows应用程序应该看看MFC。C++是程序语言的宝库,MFC是开发Windows应用程序的技术宝库。学习MFC是否需要阅读MFC源代码呢?通常情况下不需要。由于MFC支持太多Windows程序设计功能,它已经非常庞大,甚至累赘了。如何有效地学习MFC呢?我认为,《Visual C++技术内幕(第4版)》可能是最佳的选择,它可以帮助读者系统地了解MFC的精华。尽管它缺少后续Visual C++版本提供的一些开发支持,但MFC的核心都涵盖在这本书中了。我想这可能是很多人怀念或追寻这本书的原因吧。
说到这本书的翻译质量,无疑它远没有达到完美,但有一点我非常确信,早期的Visual C++程序员确实使用书中的语言来描述和讨论问题,我翻译这本书时刚刚从软件开发一线上退下来,还保持着程序员语言的习惯。然而,个别地方的疏漏是有可能的,请读者谅解。
最后,借此重印机会,感谢读者们这十年来对这本书的厚爱。
潘爱民
2009年2月