一般 答客問 (2)
侯捷 jjhou@ccca.nctu.edu.tw
1999.10.29 第一次發表於
清大.楓橋驛站(140.114.87.5).電腦書訊版(Computer/CompBook)
本文將於日後整理於 侯捷網站
侯捷網站:www.jjhou.com
----------------------------------------------------------------
Chao wrote (1999/10/25)
> 侯老師:
> 您好! 我最近買了您總監的 Windows95 程式設計指南一書,
> 由於我已快讀完了 Charles Petzold 的書,想進一步了解
> Windows 程式設計. 可是現在讓我疑惑的事情是有人認為
> 目前的主流是 MFC,所以應該放下 C/SDK 轉讀 MFC,可是這本書
> 卻是介紹 C/SDK 的高階書籍.
>
> 您認為現在用 C/SDK 寫 Windows 程式已經落伍了嗎?是否還有人用
> C/SDK 寫 Windows 程式呢?如果我想用 C/API 搭配 Jeffrey Richter
> 介紹的訊息剖析器與 MFC 比較起來您認為還有生產力嗎?
> 我現在只有兩條路,一條是繼續深入鑽研 C/SDK,一條是轉讀 MFC,
> 您認為一般公司比較喜歡用哪一類的人呢? 希望您能指點我
> 一條明路, 謝謝!
侯捷回覆:
《Windows95 程式設計指南》係由李書良先生翻譯自 Jeffrey Richter
所著的 "Windows 95 : A Developer's Guide",是一本很棒的書
(碁峰/1997)。
你問:
> 您認為現在用 C/SDK 寫 Windows 程式已經落伍了嗎?
我想我不要用「落伍」這兩個字,我說「不合時宜」好了。
再沒有什麼方法比得上以 SDK(plain Win32 APIs)開發程式更能夠
徹底瞭解並掌握 Windows applicition 的運作原理及其與作業系統之間
的關聯了。
從 SDK 起手,非常好。
但是在 Win32 APIs 之上,各家工具廠商包裝了許多不同的 framework
(所謂 framework,一言以蔽之,大型的 class library)。如果它們
沒有達到提昇生產力的結果,要它們何用?
一個精熟 SDK 的工程師,和一個精熟 MFC(或任何其他 frameworks
或 RADs)的工程師,誰的生產力高?絕對是後者,而且高出很多。
你問:
> 是否還有人用 C/SDK 寫 Windows 程式呢?
我想一定是有的。原因不外:
(1) 老一代的 project,繼續維護。
(2) MFC 的學習門檻比 SDK 高得多,學習成本大。而人是有慣性的。
你問:
> 如果我想用 C/API 搭配 Jeffrey Richter 介紹的訊息剖析器,與
> MFC 比較起來您認為還有生產力嗎?
不高!訊息剖析器(message cracker)只是幫我們把 WinMain() 內
有關於訊息處理的部份包裝得整潔有序一些,其功能和所謂的
framework 相差甚遠。
你問:
> 我現在只有兩條路,一條是繼續深入鑽研 C/SDK,一條是轉讀 MFC,
> 您認為一般公司比較喜歡用哪一類的人呢?
任何公司都比較喜歡聘僱「會運用 MFC,但是有 SDK 基礎的人」。我聽過
太多主管對我說過各種「所謂懂 MFC 的…呃…三腳貓」的故事。你從
SDK 起手,非常好,繼續深入,也很好,但不必做太多 SDK coding,因你
已有相當基礎(如果你有),光看不練是可以的(看 Petzold 和 Jeffrey
兩本書足矣)。現在你應該再涉及 framework 層級或 RAD 層級的東西。
當然,讓我給你一些心理建設:C++ 以及 OO 觀念先鍛鍊好一個程度再來。
* * * * * * * * * * * * * * * * * * * *
●誰殺了大明星
Chao 提到《Windows95 程式設計指南》一書,使我想起,常看到
網友詢問哪裡買得到一些已消失無蹤的好書。印象深刻的是:
⊙《Windows95 程式設計指南》李書良譯,碁峰,
"Windows 95:A Developer's Guide"
⊙《深入 Windows 程式設計》張永慶譯,松崗,
"Advanced Windows 3/e"
⊙《Windows 系統程式設計大奧秘》侯俊傑譯,旗標,
"Windows 95 system programming SECRETS"
⊙《Winsock 程式設計之鑰》,黃俊堯/黃慕文 等著,資訊人。
⊙《深入 COM》,黃昕暐/譯,松格。
…
如果它們都是好書(我確定它們都是),為什麼會絕版?如果一直
有人需要,為什麼會絕版?
還記得我在「20 年目睹之怪現象」一文所說的「店頭書架保衛戰」
嗎?電腦出版社太過相信新書才有市場,於是源源不斷出新書。
新書上架,舊書下架,造成了好書生命也有限的情況。
User's guide 書籍跟著應用軟體的版本走,是必然的。
但技術領域,好書絕對有抵抗軟體(工具)版本消長的實力。
至於和工具軟體無關的技術主題,更應該可以十年長青。
把電腦技術書籍搞成這樣(出版商累得要死,著/譯者得不到
應享報酬,讀者買不到年代稍早的好書),是誰的責任?
依我看,出版商的奇怪觀念,要負相當責任。
有人說,網上的探詢,只是一些小量,達不到經濟規模,不值得
再繼續經營那些書品。不然!它們一定是好書,才會在消失之後
一再被重提。見微知著,它們的背後是有潛在市場的。
出版商應該以技術內行的角度去分析介紹這些書的特性、為什麼
在軟體工具已經改版的情況下它們仍然有價值、為什麼它們經過了
三五年仍然值得購買。
說到「出版商應該以技術內行的角度去分析介紹…」,哎,算了吧,
或許癥結就在這裡。
難怪大家累得半死。
--- the end
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ Mail: jjhou@ccca.nctu.edu.tw