看了多少,听过多少?

侯捷建议

●少年当立凌云志

当然,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++ 大型软体经验的人,可资叁考。


■SDK programming:

★ Programming Windows (5/e)
by Charles Petzold, Microsoft Press 1998, 1479 pages
新版 Programming Windows 尚未见有译本。 前一版 Programming Windows 95 松
格有译本。 再前一版 Programming Windows 3.1 松岗有译本。

崇高的地位,无瑕的口碑,完整的规划,伟大的销售量;骇人的页数,骇人的尺
寸,骇人的重量,骇人的价格。是 SDK(Windows API)Programming 的近乎全
典,适合入门亦适合进阶。

★ Windows 95 : A Developer’s Guide
by Jeffrey Richter, M&T Books 1995, 619 pages
李书良译/侯俊杰总监/Windows 95 程式设计指南/ 峰/1997
前一版(for Win3.1)译本 Windows 程式设计实务(二)/旗标

空谷幽兰,一本鲜为人知的绝佳书籍。进阶用,主题包括 anatomy of
RegisterClass, CreateWindow, WindowProc,hooks, subclassing, superclassing, processing keystrokes...。无 SDK programming 基础者勿试。

★ Advanced Windows (3/e)
by Jeffrey Richter, Microsoft Press 1997, 1048 pages
张永庆译/深入 Windows 程式设计/松岗/1998

从 API 层面下掘 Windows 作业系统。主题包括 processes, threads, memory architecture, thread synchronization, DLL, TLS, File system, Device I/O,
Unicode...。本书亦可归类於Windows 作业系统类。无 SDK programming 基础及
作业系统基本概念者勿试。

■VxD and system programming

★ System Programming for Windows 95
by Walter Oney, Microsoft Press 1996, 715 pages
侯俊杰译/Windows 95 系统程式设计/松岗/1998

前半部讲 Win95 作业系统的 system programming 基础概念(偏重虚拟机器),
中段介绍 VxD programming 概念,後半部以 VxDs 实务为主。内容丰富,进阶实
务两相宜。书中程式方法:C/DDK and C++/VToolsD 都有。

★ Writing Windows VxDs and Device Deviers (2/e)
by Karen Hazzah/R&D Books 1997, 480 pages
未见译本

前半部讲 Win95 的虚拟机器观念,中段介绍 VxD programming 基础,後半部以
VxDs 及 DLL Drivers 实务为主。此书与 <System Programming for Windows 95>
各擅胜场,1/e 的图片尤令人印象深刻。书中程式方法:C/DDK。

■Windows O.S(or System Programming)

★ Windows 95 System Programming Secrets
by Matt Pietrek, IDG Books 1996, 780 pages
侯俊杰译/Windows 95 系统程式设计大奥秘/旗标/1997

侯捷评语:黄娟少妇,外孙 臼(借杨修语)。一本绝妙好书,挖掘 Windows 95
作业系统对於 processes, modules, threads, address space, memory context, context switch, executable file format... 的实作方式,以资料结构与虚拟码
方式呈现。阅读此书可对 Windows 作业系统层面有透彻认识,最大功用不在写出
别人写不出的程式,而在「从此胸中自有丘壑」的从容感。这些系统基本观念在
Windows NT 之下不可能有太大变化。无 SDK programming 基础及作业系统基本概
念者勿试。书中程式方法:C/SDK

★ Advanced Windows 3/e
by Jeffrey Richter, Microsoft Press 1997, 1048 pages
张永庆译/深入 Windows 程式设计/松岗/1998

从 API 层面下掘 Windows 作业系统。主题包括 processes, threads, memory architecture, thread synchronization, DLL, TLS, File system, Device I/O,
Unicode...。无 SDK programming 基础及作业系统基本概念者勿试。书中程式方
法:C/SDK

★ Inside Windows NT (2/e)
by David A. Solomon, Microsoft Press 1998, 528 pages
未见译本

此应是目前关於 Windows NT 作业系统的最深入书籍,谈的都是作业系统基本教义
派的主题:system architecture, system mechanisms, processes and threads, memory management, security, I/O system, file system...,并教导以各式工
具观察系统行为与效能。无作业系统基本概念者勿试。

■Windows NT kernel mode driver:

★ The Windows NT Device Driver Book
by Art Baker, Prentice Hall 1996, 522 pages
未见译本

此书完全探讨 Windows NT 的 kernel mode driver,硬派!读者需具备以下背
景:1. 有基本的 Windows NT 使用经验,包括 logging in,安装各式
drivers...。2. 有 C 程式设计经验。3. 有 Win32 user mode 程式设计经验者
佳。4. 你必须了解你的硬体,才能为它写出 driver。

★ Windows NT Device Driver Development
Peter G. Viscarola & W.Anthony Mason, MTP publishing 1999, 684 pages
峰正在翻译

灰色的封面,非主流的出版公司,感觉是旧书摊的货色,但是里头可能有黄金。我
尚未阅毕此书,但 Weipo 兄既然说不错,肯定错不了。

■Visual C++/MFC

★ Inside Visual C++ (5/e)
by David Kruglinski, George Shepherd, Scot Wingo, Microsoft Press 1998, 1153 pages 5/e
尚未见有译本, 4/e 无译本, 3/e 侯俊杰译/深入 Visual C++ 4.0/ 峰/1996

Visual C++ step by step 的鼻祖。兼顾 Visual 工具使用与程式设计技术。是
Visual C++/MFC programming 书籍中读者群最广的一本。本书虽为 MFC 新手而
写,唯 MFC 新手是否可以照单服用,不无疑问。这就和「学习 C++ 是否要切入
C++ object model?何时切入?」的问题如出一辙。此剂服用之後如出现不良症
状,应以 <深入浅出 MFC> 或 <Programming Windows 95 with MFC> 为引。

★ 深入浅出 MFC 第二版(Dissecting MFC 2/e),
by 侯俊杰, 松岗 1997, 940页

虽然范例不多且无新意,主要以 Visual C++ 标准范例程式 Scribble 为轴,但深
入之层面甚具意义。本书主旨在利用 Scribble 的循序渐进,挖掘 MFC framework
的组织架构,重点放在骨干程式的来龙去脉、runtime type information,
dynamic creation, persistence, message mapping, command routing,
document/view/template...。适合 MFC 新手。此剂服用之後如出现不良症状,应
以 <多型与虚拟> 及 <Programming Windows> 为引。

★ Programming Windows 95 with MFC
by Jeff Prosise, Microsoft Press 1996, 999 pages
黄昕 译/深入 ActiveX/松格/1997

此为与 <Programming Windows 95> 配套之 MFC 版。不重工具之使用,着重 MFC
程式的手工打造过程。在范例设计与 MFC 组织结构的篇幅比例上,颇为得宜。适
合 MFC 新手。听说即将有 2/e。

★ MFC Internals
by Shepherd & Wingo, Addison Wesley 1996, 709 pages
未见译本

市面上探讨 MFC 组织架构之书,以此书为最。对於资深之MFC programmer 可带来
程式设计以外的另一层帮助,当然这层帮助最後也会回映到程式设计上来。适合
MFC senior。MFC 功力无三两三者,不要轻率想过梁山。

■COM/OLE/ActiveX

★ Inside COM
by Dale Rogerson, Microsoft Press 1997, 376 pages
黄昕 译/深入 COM/松格/1997

很容易上手的一本 COM 入门书。范例设计得简单明了,堪称COM 之最佳引渡书
籍。然而读者若要对 COM 的来龙去脉有根本性的了解,以去除心中挥之不去的障
碍,还需 <Essential COM> 第1章的协助。

★ Essential COM
by Don Box, Addison Wesley 1998, 440 pages
侯俊杰译/COM 本质论/ 峰/1999

第1,2两章适合 COM 入门。後续章节深掘 COM 的工作原理,可能会令不少人吃
不消。不过即使只读懂第1,2章也已完全值回票价,因为写得太好了。

★ Effective COM
by Don Box etc., Addison Wesley 1999, 220 pages
未见译本

以条列方式列出 50 条宝贵的程式经验,每一条均有深入的原理说明。用以改善
COM 和 MTS(Microsoft Transaction Server)应用程式。

★ Understanding ActiveX and OLE - A Guide for Developers & Managers
by David Chappell, Microsoft Press 1996, 328 pages
黄俊翔译/ ActiveX/OLE 技术手册/松格/1997

一本着重观念的书籍。没有技术背景的人,大概只能看 3 分钟。虽然书名副标显
示经理人也可以看,但除非这位经理人刚从 COM/ActiveX 开发小组中调过来不满
半年,否则我不相信。此书做为观念总整理是不错的,搭配前述硬梆梆的 COM 技
术书籍,颇得另番滋味。

■Windows Registry

★ Inside the Windows 95 Registry
by Ron Petrusha, Oreilly 1996, 575 pages
有译本否?

深深深!只想认识 Windows Registry 之架构与使用方式的人,将会剔到铁板,但
对於有 system programming 能力者,应该是一块金砖。由於 Registry 本就藏着
系统的诸多秘密,能够规划 registry 甚至监视 registry,当然也就得以刺探系
统的诸多秘密。

★其他的 Registry 书籍

其他的 Registry 书籍,大同小异。主要是给 power users 或 system
administrators 看的,not for developers。

■Assemble

★ Microsoft Macro Assembler Bible (2/e)
by Barkakati and Hyde, SAMS (Waite Group) 1992, 952 pages
吴启仁译/Macro Assembler 程式设计师专辑/ 峰/1993

极佳的 Assembly programming 手册,内容详尽。为了解某些反组译(除错)出来
的低阶动作,我仍时常藉助本书。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值