精華區beta CompBook 關於我們 聯絡資訊
作者: jjhou (jjhou) 標題: 【回應讀者 --- 侯俊傑 1998 計劃】.3 時間: Mon Jul 20 00:02:21 1998 【回應讀者 --- 侯俊傑 1998 計劃】.3 第一次貼信時間:1998.01.01 第二次貼信時間:1998.04.17 第三次貼信時間:1998.07.19 為數不少的讀友來信詢問我的寫作計劃。感謝大家!我 決定自 1998.01.01 開始,每 3 個月左右,主動地, 藉由 CompBook 版,將我的寫作計劃讓大家知道。 以下是我決定於 1998 完成的工作: 1. 深入淺出 Win32 作業系統 侯俊傑著 80% 松崗 2. 網際網路四大服務 王家俊著,侯俊傑總監 已出版 碁峰 560 3. 實戰 MFC(Practicing MFC) 侯俊傑/徐逸輝合著 40% 未定 4. Windows 95 系統程式設計 侯俊傑譯 70% 松崗 System Programming for Windows 95 5. 深度探索 C++ 物件模型 侯俊傑譯 已出版 碁峰 620 Inside The C++ Object Model 6. COM 本質論 侯俊傑譯 50% 碁峰 Essential COM 7. 多型與虛擬 - 物件導向的精髓 侯俊傑著 已出版 松崗 480 Polymorphism in C++ 1998 真是艱苦的一年。我把進度定得如此之緊,卻忽略了人不可能 永遠維持高峰。鐵打的身體也需要休息!渡過艱苦的 1998 之後, 我想好好享受 1999 的世紀末情緒。 以下是各書介紹 ■書名:深入淺出 Win32(Dissecting Win32) ■完成方式:侯俊傑 著 ■完成度:80% ■出版公司:松崗 ■讀者技術基礎:C,SDK,OS common sense ■適合對象:對系統工作原理有強烈興趣,並具備上述「讀者技術基礎」的人。 ■內容:以大量圖解和實例的方式,介紹 Win32 平台 (Win9x 為主,WinNT 為輔)上的各種系統觀念, 包括 overview、Win32 API programming model、process、module、 thread、task、address space、context switch、executable file format、 secrets of dynamic link、virtual machine、VxD programming basic、 NT kernel mode driver、window management、message management... ■書名:網際網路四大服務 ■完成方式:王家俊著,侯俊傑總監 ■完成度:100%,已出版。310 頁,NT$ 560。 ■出版公司:碁峰 ■作者簡介:王家俊(Power CC),台大資研二年級, ACM 程式設計大賽 1996 亞洲區第一名(隊員), ACM 程式設計大賽 1997 全球第四名(教練), "Create!" 網站負責人。大四時研發的一套 UniBase freeware 軟體, 獲 CMP Net TechWeb News 選為全球六大 source-code free 軟體, 並列的有歷史悠久名聞全球的 Linux、FreeBSD、GNU C/Emacs、 Apache 等軟體。家俊文筆與素養俱佳,發表過多篇探討網路文化、 資訊趨勢的文章。 ■讀者技術基礎:SDK and C++(不需 MFC 或 OWL),multithreading、WinSock ■適合對象:想以單純的 C++,撰寫 Internet Servers 的人。 ■內容:提供網際網路主流伺服器(HTTP、SMTP、POP3、NNTP 伺服器) 之程式設計經驗。書中提供由作者自行開發,功能完備並經眾多使用者 驗證過的 servers 原始碼,並開放智財權 -- 本書讀者可任意將全部或 部份之 source code 自由使用於任何地方。前面所提獲選為全球六大 source-code free 軟體之 UniBase,就是本書各伺服器軟體的前身。 ■書名:實戰 MFC(Practicing MFC) ■完成方式:侯俊傑/徐逸輝 合著 ■作者簡介:徐逸輝,曾任電通所「媒體大師」計劃負責人, C++/OO/MFC 技術超卓,大型商用軟體技術掌控能力卓越。 ■完成度:40% ■出版公司:未定 ■讀者技術基礎:C++/MFC(最好閱讀過「深入淺出 MFC」) ■適合對象:想一探中大型 MFC project 之開發技術的人。 ■內容:假設讀者已有 MFC programming 基礎。以此為出發點, 開發一個類似 PowerPoint 功能、具備工業強度的應用 軟體。分章介紹 UI 的設計、data structure 的設計、 printing and preview 的設計、class hierarchy 的設計...。 ■書名:Windows 95 系統程式設計 - VxD & VM(譯) System Programming for Windows 95(Walter Oney 著) ■完成方式:侯俊傑 譯 ■完成度:60% ■出版公司:松崗 ■讀者技術基礎:C/Assembly/SDK/DDK ■適合對象: 1. 在 Windows device driver 上面討生活的工程師(全書適合) 2. 對 DPMI、VxD、Virtual Machine 感興趣的軟體人員(一半篇幅適合) ■簡介:這是我認為市面上最完整最詳實的 Windows device driver 書籍。 詳細介紹 Windows 作業系統中的虛擬機器觀念、VxD 程式設計基礎觀念、 進階觀念、以及數種介面驅動程式實例。適合入門、進階乃至高階。 ■內容:System Overview、Virtual Machine、VxD programming、 Input/Output Programming(Plug & Play、 Configuring Devices、Communications Drivers、 Block Device Drivers)、IFS、DPMI ■書名:深度探索 C++ 物件模型(譯) Inside The C++ Object Model(Stanley B. Lippman 著) ■完成方式:侯俊傑 譯 ■完成度:100%,已付梓。(34+320)頁,NT$???。 ■出版公司:碁峰 ■讀者技術基礎:C++ ■適合對象:對 C++ 語言已有所認識與運用經驗,欲更上層樓對其 根本機制(物件模型)有所瞭解者。 ■簡介:我個人的經驗是,我從這本書中獲得許多極為寶貴的資訊,使我 對於 C++ 物件的存在,有了十分具象的知識。過去我從不曾發現過這樣的書籍。 本書詳細描述 C++ object 在記憶體中的大小與內容,描述編譯器如何為 C++ 物件加上 vptr 和 vtbl(以支援虛擬函式)、為成員函式加上 this 指 標參數(以支援對物件之記憶體管理)、為成員函式名稱加上 name mangling 動作(以支援 overloaded)、如何設計建構式和解構式、inline 函式對 效率的幫助、RTTI 和 template 如何實作、如何完成多重繼承和虛擬繼承...。 這些都是隱藏在編譯器內部不為人所知的深度技術。原作者 Lippman 是 全世界第一套 C++ 編譯器(貝爾實驗室之 CFRONT)的主要設計成員, 著有 C++ Primer,亦享盛名。 ■內容: 1. Object Lession 2. The Semantics of Constructions 3. The Semantics of Data 4. The Semantics of Function 5. Semantics of COnstruction, Destruction, and Copy 6. Runtime Semantics 7. On the Cusp of the Objet Model (Template & RTTI & Exception Handling) ■中譯本大量保留原文技術名詞與術語,因為我清楚知道在我們的技術領域裡, 研究人員或工程師習慣使用的語彙。這個作法也是希望能夠對於在學學生產生 導引作用,熟悉並使用原文技術名詞。 ■書名:COM 本質論(譯) Essential COM(Don Box 著) ■完成方式:侯俊傑 譯 ■完成度:45% ■出版公司:碁峰 ■讀者技術基礎:C++、OO concept 最好讀過前述之 Inside The C++ Object Model。 ■適合對象:欲從最根本瞭解 COM 的問題起源與解決之道者。 ■簡介:當我們希望讓物件跨開發平台(以不同的 C++ 編譯器乃至於不同 的語言完成)、跨執行平台(透過網路在不同的系統中使用),以達成 元件軟體(componentware)和軟體 IC 的興盛,技術上遇到 什麼大困難?應該如何解決?本書從最根本講起,十分深入淺出。 原作者 Don Box 是 MSJ 以及 C++ Report 期刊上的 COM/OLE 專家。 ■內容: 1. COM as a Better C++, 2. Interfaces, 3. Classes, 4. Objects, 5. Apartments, 6. Applications, 7. Miscellanea App-A The Evolution of Object App-B Selected Code ■中譯本大量保留原文技術名詞與術語,因為我清楚知道在我們的技術領域裡, 研究人員或工程師習慣使用的語彙。這個作法也是希望能夠對於在學學生產生 導引作用,熟悉並使用原文技術名詞。 ■書名:虛擬與多型 -- 物件導向的精髓(Polymorphism in C++) ■完成方式:侯俊傑 著 ■完成度:100%,已出版 ■出版公司:松崗 ■讀者技術基礎:略通 C++ 語言即可 ■適合對象:略通 C++ 語言。或是在 C++ 領域裡浮沉多載,對於 C++ 物件 導向精神未能有所深刻領略者。 ■內容: 1. C++ class 的語法和語意(C++ Class's Syntax & Semantics) 2. C++ 物件模型(C++ Object Model) 3. 型別轉換(Type Casting) 4. 為什麼需要多型(Why Polymorphism) 5 Polymorphism 運用實例(Infrastructure of An Application Framework) 6. 從 C++ Object Model 到 Component Object Model ■簡介:以下節錄本書序言的一部份做為簡介: ----------------------------------↓ 【慮而後能得(侯俊傑自序)】節錄 ⊙層次 一般而言,C++ 是一個難學易用的語言。 C++ 的難學,初始在於其重重的布幕,布幕之中編譯器對我們的 程式碼做了太多的手腳,使我們慣於循序思考的工程腦袋一無所 措。及長又面臨新的思維模式,使我們必須扭轉慣常的思考習慣。 C++ 的易用則在於其巨大的彈性,能夠以多型(polymorphism)、 虛擬(virtual)、模板(template)等種種方式,讓現有的碼去 處理未知的、未來的資料型態。 當然,易用必須先能用。用不好或不能用的話,「寫 C++ 程式」 最後就成了只是「使用 C++ 編譯器」,這是大家常拿來彼此調侃 的笑話。 在「難學」的背景下,「易用」是使我們依然前仆後繼的動力。 愈來愈多的大學資訊科系把 C++ 開在大一課程,這雖然說明 C++ 是多麼地重要,可也苦了資訊新兵們。 其實「難學」的最大癥結,在於很難得有一本書,能夠一針見血地 指出多型與虛擬的重要性;在我們粗具語法基礎之後,直接把我們 導引到最核心最重要的思想,並且在建立這個思想的過程中,提供 足夠的必要基礎。 我希望這本書能夠做到這一點。 同樣是使用 C++ 語言,有人進入了物件導向的殿堂,有人只學到 C++ 的語法; 有人練書法; 有人寫毛筆字; 有人拿有毛的筆寫字。 我們要向書法的境界挑戰,不要只是拿有毛的筆寫字。 ⊙定位 講述 C++ 語法(syntax)的書籍很多, 講述 C++ 語意(semantics)的書籍很少; 講述 C++ 物件導向精神的書籍更少。 深入 C++ 物件模型的書籍則幾乎沒有。 這本書第一章對 C++ classes 的語法和語意做了一個梗概整理。第 二章談 C++ 的物件模型,第三章談型別轉型(RTTI 的重要服務), 第四章談多型與虛擬的精神,第五章實作一個大型例子,示範如何在 一個 class library 中完成 RTTI、Dynamic Creation、Persistence 等基礎建設。第六章為 Component Object Model(COM)奠基。 很容易看得出來,你不能夠依賴這本書學習 C++ 語法(因為第一 章不過才 96 頁)。但是在學習了 C++ 語法之後,你可以依賴這 本書學習物件導向的精髓。 我自己一直存在一個疑惑。別人常認為我寫的是高階技術書籍, 我卻認為我寫的是高階技術的入門書籍。也許我挖掘得很深很廣, 但,不就是要徹底瞭解重要的基礎知識,才入得了門嗎? 這本書,我仍舊挖得很深,尤其是第二章和第五章。但是我想粗具 C++ 語言基礎的人應該都能循序接受。我渴望證明,C++ 的難學, 問題不在學生,而在老師。 當然,本書的讀者,你,不能夠只是一位程式設計領域的全然新手。 ----------------------------------↑  -- ※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ Mail: jjhou@CCCA.NCTU.edu.tw > -------------------------------------------------------------------------- < ※ X-Info: Mave -> ric.bbs@ptt.csie.ntu.edu.tw ※ X-Sign: 0ROAATRPHX.SpNmaJ5fk (99/07/09 6:52:43 )