布克编程
㈠ 深入学习WINDOWS
本来想自己写点心得呢,不过不小心发现这个帖子,还是这么来吧
【热布克hbk】超经典(转):Windows编程书评
“前言”
大约八、九年前我开始学习程序设计时,编程方面的书籍十分缺乏,只要有一点内容的书大家都会掏钱购买,如果有了一本好书象Ray Duncan的中《Advanced Dos Progamming》, 那就被大家都当成宝贝一样人手一册珍藏。现在各家出版社都争相出版各种电脑丛书,书目让人眼花撩乱,书本价格也越来越高,难免鱼龙混杂,读者想购买书籍时不免左挑右选:难于决定哪些是真正的“经典大片”, 是值得你付出银子、精力的真经。哪些是虚有其表的作品。如有专家指点,读者就能不用费神思量了。笔者不揣浅陋,抛砖引玉,介绍一些Windows编程方面的书籍,仅供参考。
“Windows程序设计的圣经:Petzold”
C/C++语言是主流程序设计语言,Windows是当今最流行的操作系统,只要你想加入计算机软件行业,你就必须掌握这两项本领。可惜至今我们国家很多学校计算机软件专业都还没有开设Windows程序设计的课,可能用的课本还是我们10年前的课本,相当于国外20年前的水平,大部分刚走出校门的毕业生还得从头学起,这种落后情况何时才能改变。
对于已经基本掌握C/C++语言,想学习Windows编程的读者, 《Programming Windows95》是最合适的教材。这本书大名鼎鼎,是最著名,最受好评,最为畅销的Windows编程经典著作,被誉为Windows程序设计的“圣经”。作者是Charles Petzold, 国内由清华大学出版社出版,书名《Windows95程序设计》,定价98元。
Charels Petzold是自由专栏作家,是第一个在杂志上介绍Windows编程的作者,通过对微软Windows编程资料近半年的研究学习,他掌握了Windows编程,他发现自己能比微软更好地解释如何学习Windows 编程,于是1988年他出版了〈Progamming Windows〉一书,开始介绍的是Windows 2.0编程,现在这个版本是第四版,介绍Windows95编程,其它两个版本是windows 3.0,3.1。虽然Windows经过了将近10年的发展但这本书的大多数程序看起来没有太大变化,实际上Windows的设计原理所谓事件驱动方式本质上基本没有变化。
Charels采用的是传统的C语言,直接调用Windows API(Appliction Progamming Interface应用程序接口),而不是流行的C++和MFC。这看来有点陈旧和过时,但实际上这种SDK编程即直接使用Windows API编程是最基础、最本质、用途最广的Windows编程方式,只有这样才能清楚体验Windows程序设计的原理:"基于消息,事件驱动方式",而且通过调用API可以深入了解Windows操作系统的基本部分。对于采用Visual Basic或者Delphi等快速程序开发工具(Rapid Appliction Development ,RAD)的程序员来说,掌握SDK编程可以进一步提高实力,设计出更高质量的程序。
这本书取材全面丰富,涵盖了Windows编程的主要领域:消息驱动,GDI,窗口控制,资源,内存,打印,DDE等,每一方面都举出短小精悍的例子说明,新版内容也覆盖了Windows95的新概念:如多线程,增强GDI,抢先多任务,新的Win95界面控件和增强OLE等。不过很多人认为3.1版本的书是最有价值的,相比起来针对Win95版本增加的内容和深度都还差一点。但对于全面掌握Windows编程的基本概念,特别是从Dos编程转移到Windows编程,这是最好的教科书。
这是一本大部头著作,中文版有875页,附有磁盘,英文版有1100页,书中的程序代码非常清晰,有很多注释,注释也非常清蔟,是如何进行程序编码的优秀样板,阅读别人的优秀代码是学习编程最好的方法。这本书属于典型技术派风格,文字简炼,平铺直叙,没有象通常的美国书籍有笑话,趣闻,故事来调节一下,读起来很是有点累,不过这是值得的。
由于Charles Petzold对Windows编程推广的巨大贡献,(对于整整一代程序员来说,"到 Petzold"的书里查一下"早已成了解决Windows程序设计的法宝.),. !994年微软公司和Windows杂志给他授予了Windows先驱奖,其他六个同时获奖的人都是微软公司的Windows主要设计人员和市场人员,这也充分证明了这本书的价值.
“其它书籍”
另外还有一本非常不错,也是介绍SDK编程的著作,Jeffery Rithter和Jonathan Locke 的《Windows编程指南》,也由清华大学出版,但实际上名字和内容有点不符,技术层次比Petzold的书要高,特别是介绍了一些高级主题如钩子函数(Hooking),子类化 (Sub Classing)等,是进一步提高实力的书籍。
真正进行Windows程序设计,还需要有Windows API手册可供查找,虽然开发工具象Visual C++和Boland C++都有Windows API的电子文档的帮助文件,但书本也有书本的好处:可以随时翻阅。这方面的书籍有清华大学出版6本一套的《Win32编程手册》,机械工业出版社的,每个API都附有使用范例,颇具参考价值,不过有些内容不够准确,必须参照最新电子文档才能可靠使用。
"MFC领域的Petzold书籍?"
掌握了SDK编程,你也就掌握了Windows程序设计的基础和核心。但使用SDK进行大量的程序设计也是十分痛苦的经历,好在现在有了MFC(Microsoft Foundation Class), MFC无疑是目前最重要的开发工具,大部分的商业软件最新版都是用MFC编写的。事实上很多人跳过SDK直接学习MFC编程,这样当然无可厚非,但循序渐进打下坚实的基础实际上更有好处。下一期我将介绍MFC编程方面的书籍,每一个编写Windows程序设计都希望能取得象Petzold那样的成就,MFC领域的作者也都是这样, 谁是MFC领域的Petzold书籍,请看下期。
http://blog.yesky.com/blog/ythh/archive/2006/05/13/1384408.aspx
我推荐一本mfc领域的经典:深入浅出MFC,侯俊杰,华中科技大学,大约70多块的样子,运气好,二手书店30多,拿下