1. 程式人生 > >侯捷推薦書籍(轉載)

侯捷推薦書籍(轉載)

> 侯先生您好:
> 對於您寫文章及書籍的功力早就耳有所聞。最近再拿起 
> <無責任書評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++ 大型軟體經驗的人,可資叄考。