侯捷推荐书籍(转载)

来源:互联网 发布:java线程池编程实例 编辑:程序博客网 时间:2024/05/16 17:32
> 侯先生您好:
> 对於您写文章及书籍的功力早就耳有所闻。最近再拿起 
> <无责任书评2>来读更有这种感觉。自己对於您 1999 计划所着、
> 译、改版之众多书籍相当期待,但就如您所说的「有人练书法,
> 有人写毛笔字,有人拿有毛的笔写字」,在等待您巨着出来的同
> 时,我也不禁问自己,需要再加强些什麽,才有能力消化您即将出
> 的书呢?我是一个主修资管的大三学生,我认为自己的基础知识并
> 不深厚,但对於 Windows 的内部原理又极有兴趣。我没有 SDK 
> 经验,更没有 MFC 概念,对於 C++ 我只能说半生不熟。所以,
> 我有个不情之请,想请侯先生给我一张书单,亦或能告诉我
> 如何才能踏进这一块系统程式内部的园地?

> 读您的书是我最大的快乐,能读懂并融会贯通甚至应用则是
> 我最大的希望... 

> 一位希望能拿有毛的笔写字的忠实读者
> Eddie Fu

●少年当立凌云志

当然,Eddie 绝不只是希望「拿有毛的笔写字」而已,他应该是希望达到书法的境界,只是不好意思说出来。

Eddie 和其他许多年轻朋友(以及曾经的我)一样,可能不太敢对自己(和别人)宣示:「我要如何如何...,我要达到怎样怎样的目标...」。

为人不必骄傲,但需立志高远,如高山崴巍,如水流汤汤。

●我对 Eddie 的建议

如果你最终的标的平台是 Windows,以下是我的建议程序:

1. C/C++ (console mode 练基本功。尤重 polymorphism 观念之建立)
2. SDK(了解 message based, event driven 之观念後,即可尝试 MFC)
3. MFC programming (or BCB programming) 
4. Windows OS 观念(亦可与 SDK programming 并进学习)
5. COM(or CORBA)

●动机

之前,在学校的演讲场合中,我总会推荐各领域的好书给大家。後来觉得抄写书名和作者,很费时间,而 <无责任书评> 以及时而发表的文章中,又已有这些书籍的列表和详尽介绍,所以慢慢就不再现场抄写了,直接请大家到 BBS(News)找文章,或查阅 <无责任书评>。

但又总是知道,不是每个人都常常上网,也不是每个人都刚好能够看到那些书评文章。新来者众,他们或许更不知道有这些资讯。

1998/10/30 在辅大的演讲中,我答应把一些经典好书重列一份,载於 BBS。迟迟未能整理出来的原因是,我真的很忙碌;不忙於工作的时候,则忙着休息。
收到 Eddie 的信,又有了动机。於是将书单整理於下,并加上个人观感。书单中缺乏 C 语言书籍,实是因为我学习 C 语言的时代距今已太过久远,而目前书肆中的 C 语言书籍我都很陌生。

我的主要阅读范围在:

o. C++/OOP 
o. SDK programming 
o. Visual C++/MFC programming 
o. Windows OS 
o. Windows Driver programming 
o. COM/OLE/ActiveX

书单中绝大部份是英文书,中文书方面只列出侯捷自己的作品。列出自己的作品是因为作者本人当然最清楚自己作品的份量,而我有信心荐之;未列出他人的作品是因为其他中文书籍我阅历不多,实在不敢置一词。

原文书方面,我把我所知道的中译本列出,但并非就此代表我的推荐。中译本好坏与否,请自行找朋友师长探探口碑。

有些中译本我手上没有,但残留有逛书店时的印象,那麽其书名年份译者等详细资料就可能有所缺漏。若网友知道请协助补上。

●侯捷书单 & 个人观感

以下只列各主题之奠基好书。各式各样之次主题,不列;浩瀚书海中的其他好书,囿於侯捷的阅读范围与能力,遗珠难免。

■C:

侯捷学习 C 语言的时代距今已太过久远,而目前书肆中的 C 语言书籍我都很陌生,所以没有办法推荐。

■C++:

★ The C++ Programming Language (3/e) 
by Bjarne Stroustrup, Addison Wesley 1997, 910 pages 
叶秉哲译/C++ 程式语言/儒林(听说已在後制作阶段)

属「C++ 百科」级的书。此书可谓 C++ 原典,具权威性,由 C++ 之父所着。连 ANSI C++ 制定时都得叁考此书。不论是内容深度或文字风格,都不适合生手,但很适合做为进阶研究或叁考查阅壮胆之用。原文书之code 编排令我感到不舒服,行文之间学院派的味道颇重。本书为与C++ Standard 相映合,有份量极重之 errata,务请读者上网下载。网址:???

★ C++ Primer (3/e) 
by Stanley B. Lippman & Josee Lajoie, Addison Wesley 1998, 1237 pages 
侯俊杰译/C++ Primer 中文版/ 峰(预定 1999/09 完成)

在「C++ 百科」类书中,与 The C++ Programming Language 齐名,亲和性较佳。老字号,有口碑。副作者 Josee Lajoie 是 ANSI/ISO C++ Standard 委员会的核心语言工作小组主席,因此本书在与C++ Standard 的密合度上,当可令人放心。本书之 errata 网址:http://people.we.mediaone.net/stanlipp/index.html

★ Thinking in C++ 
by Bruce Eckel, Prentice Hall 1995, 813 pages 
未见译本

也属「C++ 百科」类书。口碑甚佳,唯目录所列页次与实际页次 offset 4。1/e 年代过於陈旧,当此 C++ Standard 已定案之际,实属过时。2/e 已在 beta 版,请叁考:http://www.BruceEckel.com/ThinkingInCPP2e.html

★ C++ Standard ISO/IEC 14882,1998 
"Programming Language - C++", 748 pages 
不可能有人翻译,翻译了也不可能有人愿意出版 :)

醉心学术以及喜欢看 definition 的人,一定会喜欢。有此资料在手,与人争辩 C++ 时可使用最大的胆子和最大的分贝。电子版(PDF 格式)可於 
http://webstore.ansi.org/ 购得,US$ 18.0。列印出来装订得美美的,
摆在架上足以唬人。

★ Inside the C++ Object Model 
by Stanley B. Lippman, Addison Wesley 1996, 280 pages 
侯俊杰译/深度探索 C++ 物件模型/ 峰/1998

适合给已有 C++ 经验的人阅读。可为你扎下 C++ 内部机制的深厚基础。原文书笔误极多(100 个以上,大大小小),影响阅读甚巨,建议读中译本。对大部份人而言,chap3,4 可带来最大边际效益。

★ Effective C++ 
by Scott Meyers, Addison Wesley 1992, 206 pages 
陈泰维译/Effective C++ 中译本/和硕/1997

以条列方式列出 50 条宝贵的程式经验。每一条均有深入的原理说明。适合有 C++ programming 经验者。本书已有第二版,以下资料查自 www.amazon.com:256 pages 2nd edition (September 1997) Addison-Wesley Pub Co; ISBN: 0201924889

★ More Effective C++ 
by Scott Meyers, Addison Wesley 1996, 318 pages 
未见译本

以条列方式列出 35 条宝贵的程式经验。每一条均有深入的原理说明。适合有 C++ programming 经验者。此书将与 Effective C++ 合并出光碟版,可叁考 
http://meyerscd.awl.com/DEMO/INDEX.HTM

★ 多型与虚拟(Polymorphism in C++)340 pages 
by 侯俊杰着/松岗/1998/340页

在 C++ 语法粗具的基础上,直接把读者导引到最核心最重要的物件导向观念,并且在建立这个观念的过程中,提供足够的必要基础。第5章展示如何建立一个 C++ framework 的底层基础建设(以 MFC 为本),第6章带领读者从 C++ Object Model 跃向 Component Object Model。适合对 C++ 有点认识但一知半解者。

★ Large Scale C++ Software Design 
by John Lakos, Addison Wesley 1996, 845 pages 
未见译本

想吸收 C++ 大型软体经验的人,可资叁考。