一般 答客問 (1)
1999.10.17

Lief wrote (1999/10/15) :

> 候老師您好:
>
> 我是一個資訊管理系大三的學生,我現在一直努力想把 MFC 學好,
> 但是對於學習程式的方法我一直有些疑問
>
> 到目前為止我一直找不到一個自己覺得最好的學習方法,看過老師
> 的文章,我覺得老師應該是個很懂的怎麼學習的人,所以希望老師
> 能給我一些建議,首先許多的書上都會附上許多的範例程式,
> 以老師的經驗,老師都是怎麼對待他們的呢?是讀完以後在寫一遍,
> 還是了解他寫什麼以後就跳過呢?


視讀者的程度而定。例如我可能可以看懂後就跳過,你可能不行。
因為我們兩人的基礎不一樣。如果技術主題是我非常不熟悉的東西,
我就可能讀完後多動手練習幾遍。

> 像我雖然看的懂別人在寫什麼,
> 但是總覺的自己 寫的時候就不會了,這是什麼原因呢?(要看著書
> 才寫的出來)是因為我不懂的他為什麼要這樣寫嗎?


可能是因為:
(1) 你並不完全清楚書上在說什麼
(2) 缺乏動手經驗,造成眼高手低。programming 一定要動手
才會有成果(至少技術養成階段是如此)。

既然你提到 MFC,我要提醒你,對付 MFC,動手之前,必備的基礎
一定要有。MFC 是龐大的 framework,多少專職 programmer 在上面花了
許多心力才開始有生產力。你必須先將 C++ 基礎建立起來,
再將 MFC 程式主軸運作搞清楚(至少某個程度),才開始寫各種
應用程式。如果沒有這些基礎,揠苗助長是一點用都沒有的。
依樣畫葫蘆也是一點用都沒有的。

> 而且在寫視窗程式的時候有許多的東西似乎就是一定要這樣寫
> ,那我應該去背他嗎?還是到時候去查資料就好了?


到時查就好了。

有沒有聽過這句話:沒有一個人的 Windows 程式是自己從頭寫到尾的。
過去 SDK 時代,大家都是從範例程式中 copy/paste 出來再開始
修改,現在 framework/RAD 時代,都是由工具先幫我們產生出骨幹
程式,再運用工具幫我們修改程式。

沒有任何東西需要背。唯一要在心裡形成中心意識的,是你對整個
骨幹程式的來龍去脈的掌握。

> 還有像那些函式需要那些參數傳回什麼值,老師會特別去記嗎?
> 還是在用的時候在查資料或 MSDN?


用的時候查資料就好了。

> 我覺得老師對知識的探求是非常深入的,但是如果以初學者來講
> 一開始就一直向裡挖是好的嗎?


初學者分很多種。有的人已在旁的領域有很多知識基礎,於是
很能觸類旁通;有的人不是這樣。所以無法一概而論。

> 還是應該學完怎麼應用一個東西後再開始去了解更深的東西呢?

大部份人比較適合這樣。

> 希望老師可以把您學習的方法讓我參考一下,例如您會把所有
> 看到的書中程式碼都寫一遍嗎?(或是改寫呢?)


以 programming 而言,我覺得心中有疑惑的,或是我想親手驗證結果的,
我才會動手做一次,並加以改寫。但我和你的立足點可能相差十萬八千里,
如果是這樣,你就不應該和我一樣。

> 如何快速了解一個 language 呢?

做學問沒有速成法。若一定要說有,就是把根基打好,往後進步才
會快。以 language 而言,最好的練習方法就是動手寫程式。但是要寫
好程式,絕不是 language 本身而已,其他如 data structure、algorithms,
甚至對 O.S. 的瞭解都非常重要。language 只是第一步而已。
進展到後來,你可以在不熟悉 language 的情況下,領導一個
software team,當然,那時(或許十數年後)你是資深/高級工程師。

送你一段宋朝大儒朱熹的話。這是他的為學態度:

寧繁勿略
寧拙勿巧
寧下勿高
寧遠勿近

--- the end




一般 答客問 (2)
1999.10.29

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",是一本很棒的書
(眳p/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 程式設計指南》李書良譯,眳p,
"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



一般 答客問 (3)
1999.10.29

xxx wrote (1999/10/28)

> 侯老師您好:
>
> 不曉得您是否還記得我呢...:>
> 我名字是 xxx ..,約半年前吧
> 曾寫過不少封信問您問題,打擾您了..^_^
> 我和同學滿希望可以有機會從事翻譯書的工作
> 不過不曉得該如何著手比較好...
> 想請問侯老師,我們該主動去向哪些出版社
> 或是...主管詢問會比較好呢?
> 嗯....
> 希望不會打擾您了...:>
> 很喜歡意您翻譯的作品...,不過在BBS上看到您的文章
> 覺得您似乎對大環境有點無奈...
> 祝您可以擁有屬於自己的夢想...:)...期待您新的大作
>
> 謝謝....^_^



侯捷回覆:

我一向不贊成資訊系學生在沒有人指導的情況下做電腦技術書籍
翻譯。主要原因不在於技術面(雖然學生的技術能力可能其實
也有問題),主要原因也不在於文字表達面(雖然學生的文字
表達能力可能其實也有問題),主要的原因是,你驅動不了
龐大的出版機器。

你大約會怯生生地自我推薦,怯生生地交稿,怯生生地與出版商
打交道,怯生生地要求「可不可以這裡改一下」,怯生生地要求
「可不可以那裡也改一下」,怯生生地最後告訴自己,這樣太麻煩
人家啦,怯生生地說服自己,這樣其實也還可以啦。

就算你是因為技術聲名遠播,被人找去翻譯,那又怎樣?你還是
驅動不了龐大的出版機器。你最多只能就你的部份做到 100 分,
而一本書,從文字稿到一本書,距離只比月球近一些。

你當然可以事前信心滿滿地說:『一定要我點頭說好,才可以…』,
實際上你卻非常可能自己給自己設限:哎呀這個就算啦,哎呀那個勉強啦…。
不是你不想把東西做到完善,是你不好意思麻煩人家,而且你也驅動不了
你以外的部份。

我並不是說出版商是吃人怪獸。不是,我絕對沒有那個意思。
然而以學生的人生歷練,要進到社會體系中來,又是這麼一個
大環境不良的電腦出版品體系,而書籍又是這麼特殊地位的「商品」
(至少它在我心目中是特殊地位),我恐怕是,折損了你的豪情,
成就幾本帶有遺憾的作品。你會劃地自限,把對自己作品的
理想,一步步退縮。因為,絕絕絕大部份的學生,身上不具備
一個「作家」或「專業翻譯者」該有的氣勢。

我也不是說,出版社和 作/譯者之間,形成一種角力的緊張關係。
不,也不是這樣。…再說下去說不完了,到此為止。你自己出社會去
體驗吧。

我想你會記得,當初我回你的信,對你是鼓勵有加的。希望你
相信我,這些文字,對你沒有任何惡意。

總之,我不贊成資訊系學生在沒有人指導的情況下做電腦
技術書籍翻譯。

雖然不贊成,我不會拒絕回答你的問題。你問:

> 我們該主動去向哪些出版社
> 或是...主管詢問會比較好呢?


你可以寫信給任何一家你中意的出版社,附上你的意圖,甚至
附一份計劃書甚或翻譯成品,收信人寫「圖書開發相關部門」。
放心,你的信一定會流到該收信的人手上。


你說:

> 很喜歡意您翻譯的作品...,不過在BBS上看到您的文章
> 覺得您似乎對大環境有點無奈...
> 祝您可以擁有屬於自己的夢想...:)...期待您新的大作


謝謝你。我對大環境有期許,沒有無奈。出版界的朋友對我很
禮遇,我想做的任何題材,任何硬體形式,幾家合作夥伴都幾乎
無條件支持(除了書籍用紙)。我很感謝他們,我沒有什麼無奈。

我在【長亭外】一文中說:『吾志固可展。意竟闌珊。』
「志固可展」,便是指出版界朋友的完全支持。至於「意竟闌珊」,
呃,意既闌珊,則不必多言。

--- the end

一般 答客問 (4)
1999.10.30

Luis wrote (1999/10/30)

> 侯大哥好,
>
> 一直以來都是默默地看著你的文章,這一陣子發生了幾件事情,
> 讓我經常在三更燈火五更雞的焦躁中,一直掙扎著是否寫封信
> 和你聊聊...
>
> 先說說這幾天讓我心煩意亂的事。
>
> 上個星期,朋友打算接洽一家紡織廠,幫他們的作業程序裡加入
> 自動控制的管理,硬體部分由他負責,然後跑來問我願不願意跟
> 他一起合作。問清楚後才知道他會處理好所有的資料,並透過
> RS-232 把資料傳送到電腦裡。我所要負責的部分只不過是包裝
> 一下,然後用美美的畫面秀出來,並適時地告訴管理人員目前
> 所有機器的狀況。此其一。
>
> 另外,隔沒幾天,另一個好友興致沖沖地告訴我,他向美國的
> 姊姊談起這件事,他姊姊建議我趕緊累積 programming 的功力,
> 原因是她那在 IBM 的小叔考慮跳出自己當老闆,產能擴充後希望
> 那我為班底。此其二。
>
> 兩個 CASE 條件都很優渥,但造成困擾的原因卻是心虛,怎麼說?
>
> 我是個西班牙文系畢業的現役軍人,目前為某單位的官預輔導長。
> 雖然小學時接觸電腦到現在已將近二十年,會寫幾行程式,接過
> 小小的 case,在週遭人眼中活像個電腦大師,但自己心裡面很
> 清楚自己的斤兩....
>
> 其實也曾期許過自己,往資訊業界的這條路走來,我所接觸到的
> 已經遠遠超過本身學經歷這樣一般管道所 "應該" 去接觸的了,
> 換句話說,在朋友眼中,我是個邪魔歪道。:p 也或許因為如此,
> 他們更加不理性地 "崇拜" 我,拜運氣所賜,我也鮮少令人失望,
> 雖然,離 "技術" 還很遠。我不敢隨便自稱為 "programmer",
> 不是因為謙虛,心虛倒是真真切切的。:)
>
> 打從你開始出書以來,我一直都很快樂地在當讀者,沒有成績上
> 的壓力,也沒人要我交一份心得報告或實作出一段程式碼出來,
> 就這樣也過了十年。在 programming 的領域中,我頂多是
> "天龍八部" 裡王語嫣,唬唬人可以,要真槍實彈上場,怕得要
> 另一個十年。
>
> 我很清楚,會寫程式 (coding) 是一回事,但要能寫出應用程式
> (buliding applications) 是另一回事 -- 我會的是招式,而不是
> 武功。這樣的自我認清,讓我很痛苦。特別是現在。沒有作業系統
> 概念、演算法的思考邏輯... 我開始對 debugging 有莫名的恐懼。
>
> 其實,這封信不是來向你要一個解答或解決方案的,當然也不希望
> 因此打擾了你的清修,用經驗來對我耳提面命。
>
> 我只是想說聲謝謝,如果沒有你發表過的那些著譯作、雜文,以我
> 這樣的資質,恐怕再磨蹭個十年也不會有今晚的頓悟。
>
> 另外,近來也比較沒有你的消息,網路上的隻字片語裡也似乎嗅到
> 了你倦勤的氣息。我不知道要怎樣鼓勵一個像你這樣從來未曾謀過
> 面的人,只好藉著這封信些微地表達一下感激和關懷之情。
>
> 再怎麼說,身心健康還是最重要的。祝福你。



侯捷回覆:

Luis,我很感謝你寫這信給我。我感受到了你的感激和關懷之情。

曾經說過,溫暖的讀者來函,是我寫作的重要原動力。這不是
矯情,這是真的。

...

認清自己的不足,是智者的行為。
承認自己的不足,是勇者的行為。

我佩服你,一個文科基礎的人,卻能浸淫電腦、享受電腦如斯。

在自己最大的興趣中工作,是最幸福的事;退而求其次,能找到自己
的大樂趣所在,沒有壓力地享受它,也是相當幸福的了。我憶起我的
"ENT"(耳鼻喉)醫師老友 David,他是箇中典範。他說:

-- quote --
> 意外地接觸了電腦,從玩票性質到做出了一點成績。慢慢地生活重心
> 在不知不覺中重回學生時代那種追求新知的渴望。有一天深夜我竟
> 直望著螢幕發呆,為久久不解 C++ virtual function 跑出的結果,
> 情緒時而昂揚時而沮喪,記得從那夜之後突然覺得每天到醫院上班時
> 覺得自己好寂寞…。
>
> 在醫院最後的二個月當中,白天一邊忙著開業瑣事(那可真煩瑣呢!)
> 卻一邊在夜深人靜時抱著 Hou Sir 從前在旗標出的那兩本 Visual C++
> 附錄猛 K 視窗程式的生與死和 C++ 虛擬函式的觀念。每天到醫院上班
> 時書包裡裝著您那兩本書和資訊人的「世紀末軟體革命1」,現在回想
> 起來大概是那時想緊緊地抓住那最後 enjoy 電腦的尾巴吧。
-- unquote --


真的也是很幸福的。


* * * * * * * * * * * * * * * * * * * *

by the way,Luis 信中舉「招式」和「武功」的概念,我覺得譬喻極好。
舉王語嫣的例子,我也覺得譬喻極好。我不是說 Luis 對自己譬喻
極好(可能都是他的自謙而已),我是說這樣的文字意義甚好。

關於「武功」,我有一些題外話,是老早就想過的問題。

男性朋友們沒有讀過金庸小說者,幾希。大家對於「武功進步
必須從根本開始」的道理,篤信不渝。最高武學原來只是講究
呼吸吐納,是完全的「內」;外門功夫雖然練到極致也能剛猛
異常,虎虎生風,卻永遠落了一個下乘。

談到武學修練的無上道理,大家都點頭如搗蒜;能夠融入技術領域中的,
卻總是不多。明明知道,這是一條正途,明明知道,那是一本寶典,
能夠身體力行的人,卻總是不多。

知之而不能行,是什麼道理?

時間太少啦,專案太忙啦,功課太重啦,滋味太苦啦,不能立竿見影啦…。

都不是理由啦!

--- the end



一般 答客問 (5)
1999.10.31

Aspire wrote (1999/10/30)

> 侯 sir:
> 我是你忠實的讀者
> 你的深入淺出 mfc
> 是引導我進入windows programming 的一本關鍵書
> 你的無責任書評讓我知道許多好書
> 在此說聲謝謝
>
> 我是技職體系出身
> 英文閱讀並不是很好
> 我現在都在讀你推薦的原文書
> 如 programming windows with mfc
> c++ primer
> programming windows
>
> 但由於底子不是很好
> 閱讀得很慢
> 有些重複看
> 依然一知半解
> 希望你可以給我一些閱讀的技巧
> 謝謝



侯捷回覆:

技術書籍的英文閱讀方面,我沒有什麼閱讀技巧可以提供給你。

也許對這方面有特殊研究的朋友,會有一些心得。但我沒有。

依我看,就是持之以恆,讓自己習慣英文表達方式。技術性書籍
的英文很少會有過於深奧的句子,所以並不難看。至於長句子,
由於英文結構支援長句子的無限可能,而且可能洋人的習慣如此,
所以長句子倒是常出現。這常常對我們形成閱讀上比較困難的地方。

除了以英文為母語(或差不多已經成為母語)的人,英文長句子
所形成的困擾總是有的。我把我選錄的一些長句子給在美國待了
十多年的朋友看(他的美語當然是溜的,而且也是技術中人),
他說一樣得費心思去拆解子句。

不過,總是,看多了也就能夠分析了。

有一點很重要:技術文件的長句子,就算讓一個英美文學博士
來解析翻譯,他也有可能會出錯,原因是他不知道其中的真實意義。
我這話所要強調的是,技術底子佔有技術性閱讀的相當重要的部份。
你的技術底子可以幫助你看懂那些長句子。

所以,技術愈來愈好,閱讀也會愈來愈順暢。

說到英文,侯捷的程度是相當地…呃…不怎麼樣(我這麼說
已經保守了)。所以,你對自己要有信心。

--- the end



一般 答客問 (6)
1999.12.11

sun_ao wrote (1999.10.29):

> 尊敬的侯捷先生:
>
> 你好,我是一個從事程序設計不久的年輕的程序員
> (大學所學的專業:自動化控制),從我的內心來講
> 十分的熱愛這個充滿挑戰, 機遇的職業.非常希望
> 能盡快的走進奇妙無窮的計算機世界,但我的基礎
> 太差,在最近的三個月當中僅僅隻學習掌握了一些
> 快速開發工具的使用,對Windows的底層毫無了解,
> 只可以編寫一些簡單的Windows應用程序.在學習的
> 過程中經常會被一些Windows的基本概念所迷惑,所以
> 想找一些有關Windows的書籍,但在大陸好像沒有
> 非常好(雖然很多,大部分都是粗制濫造)的這方面
> 的資料,非常幸運的是我在無意中看見了您的文章
> (在http://www.midatech.com/csdn/bookreview/system.txt)
> 獲益非淺,希望能得到您的指點(如何一步一步的走進
> Windows的世界),希望能像您的表妹那樣幸運.
> 多謝!

> 不知道您是否有
> <<Windows 95 System Progrmming SECRETS>>
> <<Advanced Windows(2nd Edition)>>
> <<System Programming for Windows 95>>
> 這三本書的電子版, 如有可否借我一閱



侯捷回覆:

我從你的信中看到當初的我,一頭進入 computing 領域
的熱切心情。

你提到「表妹」,讓我一頭霧水。思索良久,才明白你指的是我寫的
「Windows 系統深耕」一文(www.jjhou.com/review3-7.htm)。
好像我的兩篇文章「MFC 四大天王」和「Windows 系統深耕」在
大陸網路上流傳頗廣,因為我不時收到就這兩篇文章而來的 email。

欲對 Windows 系統多做瞭解,依我的看法,從 SDK programming
起手應該不錯。在 SDK programming 過程中,你會接觸到應用程式和
作業系統之間的唱和關係,從而從有趣而具象的 application programming,
一步步增加對作業系統的瞭解(當然這得有賴你自己的好奇與上進)。
過程之中須輔以適當書籍,我在「Windows 系統深耕」一文
所介紹的三本書籍,各有特性,我想你已經清楚了。

另一種起手方法是從正統(一般開在資訊系大三)的「作業系統」
課程開始,然後再看 Windows OS 相關書籍。但是對沒有
基礎的人而言,這門課(及其教科書)十分枯燥,沒什麼趣味。
你的熱情恐怕難以為繼。

推薦你看「選義按步 考辭就班」一文(www.jjhou.com/review3-10.htm),
對於 programming 領域的按步就班,會有更多的瞭解。我聽說
北京的 www.csdn.net(中國軟件開發網絡)對我的網站內容有一份
簡體版 mirror,或許你可上去看看。

請注意,「Windows 系統深耕」一文中提到 Matt 和 Jeffrey 和 Oney
三本書,除此之外,Oney 另有一本新書名為 "Programming the Microsoft
Windows Driver Model"(1999/09),講的是 WDM。此外,關於 Windows
作業系統,我還要補推薦一本:Inside Windows NT 2/e(MS Press 出版)。


你詢問:

> 不知道您是否有
> <<Windows 95 System Progrmming SECRETS>>
> <<Advanced Windows(2nd Edition)>>
> <<System Programming for Windows 95>>
> 這三本書的電子版, 如有可否借我一閱


如果你是問中文版,(1) 和 (3) 都是我譯的,所以我有電子檔。
但是這電子檔是不可以外流出去的,有法律因素。我已經
收到過不只一次的讀者請求,希望我把電子檔給他們。讓我再
斬釘截鐵地說一次,這是不能夠的。

如果你是問英文版,據我所知,(1)(2)(3) 都沒有電子版可免費
下載。

--- the end



一般 答客問 (7)
1999.12.11

Marcel wrote (1999/11/24) :

> 侯先生,
>
> 您好,讀過您的一些文章及書,其中有一篇提到西文書的標籤。
> 謹提供一則方法,就是先用吹風機吹幾分鐘,就可輕易撕下。
> 不管是盤子或書本都有效,希望對您有幫助。


生活中這樣的小故事,小插曲,與讀者這樣的小小互動,總是讓我
非常開心,感覺非常溫馨。

謝謝 Marcel 提供的方法。Marcel 所提的,是我寫的 1998.01.22 的
【1998 牛後虎口 圍爐夜話】http://www.jjhou.com/article98-4.htm
中有關於原文書進口標籤的感觸:

-- quote --
我不喜歡看到我想看的東西被我不想看的東西遮起來,甚至黏起來。

偏偏在我購買外文電腦書時常常發生這種事情。

檢視書房裡的電腦書籍,有松崗、眳p、天瓏、微科、
全華、旗標...各家進口的原文書,每一家都不約而同在
書背最下端貼上一張郵票大小的貼紙。黏力超強,撕它千
遍也撕不掉,摳它千遍也摳不淨。除了去漬油,沒人奈何
得了這小小一方強力貼(絕對不是便利貼)。只有眳p的
貼紙還算好,勉力撕下後可以整張拉起來,不會支離破
碎得更醜。我詢問過眳p的朋友,他們的確特別用心挑過
貼紙,足證事在人為。

我記得曾經讀過一篇文章,報導 3M 便利貼的發明故事:
曾有一段時間,廠商比的是誰黏力強,後來覺得「有點黏
又不太黏」有更大的市場。

我覺得我們這些外文電腦書進口商全都沒有進化。

書背下端是什麼你知道嗎?是出版公司名稱耶!也有可能
是作者姓名耶!如果有什麼金字招牌可以因為亮相而吸引
讀者購買,在商言商,我不反對把它貼在書背(把整個封
面貼起來我也不反對)。可是我們不會因為誰進口這本書
而買它,是不是?我們會因為作者或出版社去買一本書,
而他們卻被「永久地」貼起來了。

我不知道外文書進口商有什麼難言之隱沒有。點貨方便?
藉此廣告?廣告效果應該是沒有,反廣告效果倒是有!不
管他們有什麼困難啦,反正我就是不高興這麼重要的地帶被
他們「永久性地」傷害了。換一種「有點黏又不太黏」的
貼紙可不可以?
-- unquote --



我立刻嘗試 Marcel 的「撇步」,挑了平裝、精裝各一本
(可巧,都是全華進口),滿心愉悅地到浴室去進行實驗。

◎工具:旅行用小吹風機一支。

◎平裝本測試結果:猛吹兩分鐘(開到最高瓦數),用手指頭
小心翼翼地摳,果然摳下那令人討厭的東西。雖然因為手拙,
標籤斷為兩截,留下薄如蟬翼的一層皮,沒有取得全屍,但
再用指腹猛力搓揉,倒也清除了最後的殘屑。只是,也留下不少
黑污手皮(噁…)。
◎心得:殃及池魚,膠裝用的膠水也稍有融化現象(幸冷卻後
恢復原狀)。所以吹風時要注意,不要直接吹到書的膠裝裸露處。

◎精裝本測試結果:猛吹五分鐘(開到最高瓦數),用手指頭
小心翼翼地摳,仍不能得美好結果。最後,小可憐吹風機受不了
這樣的猛催馬力,保險絲跳掉了(所以切記,不要把吹風機口緊貼
書皮)。此時標籤有如五馬分屍,猛力搓揉亦不能令殘屑脫落,
只好使出「指甲功」,硬幹。結果是非常非常非常醜陋。可能
還需「去漬油」出馬。
◎心得:容不容易取下這令人討厭的東西,與進口商當批採用
的膠紙的強固性有關。

環顧書房,我至少有 100 本書需要撕這令人討厭的小東西。
一本書花掉 5 分鐘,我需要…呃…算了…醜就醜吧,不撕了!

還是很謝謝 Marcel.

* * * * * * * * * * * * * * * * * * * * * * * * * * * *

Tenbu wrote (1999/12/21)

> 提供個人經驗
> 方法一:指甲法+橡皮擦法:先將貼紙撕下(不論結果),
> 再用橡皮擦猛擦缺點是要花很多時間
> 方法二:溶解法:使用清潔軟碟片的清洗劑滴到貼紙上,
> 等到溼透後就可以輕鬆撕下缺點是如果書皮沒有鍍一層
> 薄塑膠膜,那書皮就會完蛋
> 方法三:尺推法:用一枝硬一點的尺抵住貼紙邊緣,然後
> 用力慢慢推缺點是花力氣,而且有時會刮花書皮



Imanaka wrote (1999/12/13) :

> 有個比較快的方法啦 那就是先斯掉一大半 剩下的再用膠帶粘
> 還滿快的喔.....成本比較高一點而已:P



Tenbu wrote (1999/12/13) :

> 這種方法我也試過
> 只是膠帶的黏性太強,有時又會留下孽種在書上
> 黏性太弱,又黏不起來


--- the end



一般 答客問 (8)
1999.12.11

讀者 Wang 於 1999/11/29 給我一封信,以日記的方式,
記錄對我的觀察。並囑我不要將它公開。

這是我與我的讀者之間極 close 的一種接觸。我視之為一份
珍貴的禮物。Wang 的文章中對於侯捷為什麼於這段期間停筆,
有一些揣測。我想或許我需要就這部份和我的讀者們公開聊聊。

Wang 認為侯捷的封筆與再學習,是為了「大有準備轉而投入
另一陣營的動作」。Wang 所指的投入另一陣營,是指放下
Windows 而就 Linux。Wang 認為侯捷做了這麼大的轉變或
決定,「卻隻字不提」,對不起讀者。

這段期間,我的確也看了一些 Linux 書籍,也想深入
研究這個作業系統。畢竟它是如此受到好評,又開放原始碼。
但是我不認為個人的學習興趣,在這麼初步的時候,有必要
公告天下,昭告讀者。Wang 恐怕是把侯捷看得太重了,
我個人再怎麼說都沒有那麼重的份量 :)

我也會從我心儀的技術作家身上,觀察他們的學習軌跡,
並以之做為參考。但都是在他們的作品完成之後,才得到觀察,
也才得到結果。我並不認為他們應該把他們的學習方針事先
揭露給讀者知道(雖然我是有興趣知道)。

我的停筆原因,我已說過,最主要是,在遭逢百年大地震之後,
我決定多留一些時間做其他面向的思考與活動,暫停一切 output
(除了已經答應的訓練課程)。人生無常;而我很感性,也很率性。
瞭解我的個性的人不會太訝異我有這類行止。

當然,主要原因之外,也有一些次要原因,包括看到傷心言論、
覺得自己所為何來、家裡有忙碌的事情、身體不應太勞累…等等等。
這些都很私密,實在不足為外人道。

大因素,小因素,以及原本微不足道(一哂以對即可)的因素,
匯集起來,使我決定停筆一陣子。這只是暫時性的,當我想動筆,
就會再動筆。如果沒有空出這段時間,我也不可能有系統地
整理回覆這麼多讀者來函呢。

六年前的一次讀者座談,席間讀者 shane 問我:為什麼侯先生
把所有心力專注在 Windows 上呢?什麼時候才寫點別的呢?
我的回答是:寫到我高興滿足為止。兩年前這個時間點已經到了,
我開始把心力轉注 OO paradigm 身上,現在則是對 generic paradigm
非常感興趣。對於 Windows,我覺得自己已經飽了。Windows 上的新東西
當然還會想去嘗試,但不會再像以前那麼懸樑刺股,通宵達旦。
對於 Linux 及任何其他作業系統,我恐怕也沒有心力像對 Windows
那樣去探索核心了。換言之,那個階段對我而言,過去了。

Wang 的信中有許多中肯的觀察,文筆很嚴謹。我感謝你。


●聯想

一個人停止工作,生活何以為計?

任何一個辛勤工作了 10 年以上的人,都應該有足夠積蓄選擇
暫停忙碌的生活。問題是,放不放得下?放下了還拿得起來嗎?

我很幸運,我是自由人。

停筆期間,我想過一個不屬於我的問題:其他的作者是否也擁有
這樣的空間,允許停下來充電、成長、醞釀新作品呢?一位小說家,
寫一本「好的」中長篇小說,一般而言 1~2 年恐怕免不了。所以他
必須有足夠的養家條件,才能心無旁騖地構思、收集資料、動筆、
修潤、校稿…。當然,所謂養家條件的高下,還得看看個人的物欲濃度。

但是臺灣沒有這樣的條件,允許一位電腦專業作家一年只出一本書。
那麼我們能夠期待什麼樣的水準?這很值得作者、讀者、出版者深思。

--- the end


一般 答客問 (9)
1999.12.11

marc wrote (1999/11/30) :

> 侯先生:
> 真高興能遇到一位能在 C++ 方面給初學者如此多指引的老師!
> 我是你忠實的讀者,剛看完你所撰寫的【多型與虛擬】一書。
> 開始學 C++ 是個人純粹的興趣,回想那一段日子算是滿幸福的
> (以為這就是C++語言),學完大部分的語法(syntax)之後才發現
> 那只是誘人的甜頭而已,因為對於語意 (semantics)只是一知半解,
> 也就是說只會吃魚卻一直不懂得魚要如何去釣。讀完你的書
> 覺得有一種坦然的感覺,就像是拔掉喉頭上的刺一樣。
> 我也買了您的另一本書【深入淺出 MFC】,這是一本好書,
> 也是我一直想要找的書,因為大部份市面上所賣之有關的書,
> 都只教如何跟著它撰寫程式,對於《為什麼》卻點到而已,
> 往往看完那一類的書之後,只會寫一模一樣的程式,卻無法
> 跟著《自己想法去創作》,沒錯!《自己想法去創作》,
> 這就是我要的。從【深】書媞朮弁鉆 MFC 有深入的了解,
> 雖然仍有許多地方須要多看幾遍。
>
> 在此有一個小問題請教您,希望能撥冗賜教。微軟 MS VC++
> 堻ㄦ|附上MSDN光碟,裡面的說明詳盡無話說,但是太多
> 的資料卻使我望之怯步,不知該如何學起、不知如何去參考。
> 中文版的說明我想永遠不會出,英文版的卻又看得吃力,我的
> 問題就是要如何有效的參考或閱讀MSDN?(當然基本的
> 查尋難不倒我,可是卻往往找不到我要的)或者該從哪裡看起呢?
> ps.我一直想用MFC寫program
>
> 感謝您在百忙中看這封信!祝佳作連連



侯捷回覆:

感謝你讓我知道,我的書對你帶來幫助。這對於一個拿筆的人
的寫作動力,很有貢獻 :)

MSDN 是 Windows programmer 的資料/知識大寶庫。但它不是
一個組織性很強的東西。其間有些資料是有不錯的組織,但這種
性質並不全面。

其實,即使原本組織性不錯的東西,成為電子媒體後,可能
未得其利先蒙其害。我所謂的利與害皆因 hyperlink 而起。

以 VC++/MFC programming 為例,如果你已有全盤概觀,那麼
用 hyperlink 查資料真是太方便了。如果你才剛要開始認識它,
hyperlink 跳來跳去反而令人眼花撩亂,目不暇給;這邊說請
參考那邊…那邊又說請參考這邊…。

所以,如果你對於目標全然地陌生,我想你還是先找一本適當
的書(紙本書籍)來看,可能比較理想。

--- the end


一般 答客問 (10) - 棄 B 保 C ?
2000.03.25

ffmm wrote (2000/02/01) :

> 你好
> 我知道你很忙 這樣的郵件大概你沒時間讀的很仔細
> 所以我也不敢廢話連篇
> 我只是有一個不能懂得問題
> 我是一個資管的學生 現在才大一
> 但是我對程式設計很有興趣 也對程式語言有點基礎
> 像 C VB 我都懂了個五六成
> 近來 閒著閒著 多多接觸了這些東西 發現自己要學的好多
> 於是很努力的學
> 有天我到了bbs站上去看看那些討論 發現都是 Delphi BCB VC 這類的東西
> 我寫了信問問那些高手 結果各個都叫我轉向 BCB 或 Delphi
> 我頓時覺得...VB 事不是真的沒用?? 本想鑽研它的 但是現在猶豫了
> BCB是一個工具 用的還是 C++ 語言
> 我從 Basic 跳到 C++ 會不會很難呢 雖然我已經有了 C的基礎了
> 但是聽說 OO 的觀念不好懂.....
> 嗯....可以請你告訴我嗎??我該棄 VB而去 還是繼續呢? 抑或 兩者皆習?



侯捷回覆:

該不該「棄 B 保 C」,這種問題是不能回答的。倒不是為了怕引起暴動,
而是這本來就沒有答案。

你只要想想,現今仍然存活的電腦語言,為什麼還可以存活到今天,
就應該知道,它們必然有它們在某些方面的專精用途,或龐大勢力,
不然早就被扔到歷史的垃圾桶去了。

至於勸你轉向的人,因為他們親近了某種語言,覺得它很好,所以努力
說服你(或只是漫不經心地隨口說說)。世事通常如此,愈是
親近某人某物,愈是支援某人某物;原因無它,認識深而已。

> 我頓時覺得...VB 事不是真的沒用??

不會沒有用。事實上也很好用的。當然,它有它的侷限。

> BCB是一個工具 用的還是 C++ 語言
> 我從 Basic 跳到 C++ 會不會很難呢 雖然我已經有了 C的基礎了
> 但是聽說 OO 的觀念不好懂.....


OO 觀念的養成,需要較多時間,因為它不像 procedure-base programming
那麼直觀(雖然它的最終目標是要讓我們以很直觀的方式在程式中模擬世物,
但這需要大量的學習)。我可以明確回答你的是,C++ 比起 C and VB,
是難學得多。

> 嗯....可以請你告訴我嗎?? 我該棄 VB而去 還是繼續呢? 抑或 兩者皆習?

沒有答案。視個人情況而定。

-- the end



一般 答客問 (11) - <2000 侯捷寫譯計劃>
2000.03.25

小叮噹 wrote (2000/02/10) :

> 候先生:
> 請問候先生,繼 C++ 大作之後,下一步你還要翻譯那本經典之作,
> 可否透露給小弟知道



侯捷回覆:

老是有人把「侯」誤為「候」 :(

以下是 <2000 侯捷寫譯計劃>

書名 作/譯者 預定日期 出版
1. Effective C++ 2/e 中文版 侯捷 譯 2000/07 培生
2. More Effective C++ 中文版 侯捷 譯 2000/08 培生
3. Exceptional C++ 中文版 侯捷 譯 2000/10 培生
4. 多型與虛擬 (2/e) 侯捷 著 2000/07 松崗
5. 泛型程式設計 侯捷 著 2000/08 松崗
6. Generic Programming and the STL 侯捷/黃俊堯合譯 2000/09 眳p
7. Essential C++ 中文版 侯捷/王建興 合譯 2000/07 眳p
8. C++ Primer(3/e) 解答本 侯捷 譯 2000/08 眳p

註:培生即 Pearson。旗下擁有 Addison Wesley, Prentice Hall
等知名品牌。屆時會使用什麼中文名稱,目前未知。

註:以上日期,請以「概略」視之。

-- the end

一般 答客問 (12) - 大陸讀者
2000.03.25

Marc wrote (2000/02/19) :
> 侯先生, 您好!
> 我是北京大學計算機系的學生, 剛參觀過您的網站, 很想拜讀C++ Primer,
> Essential COM, 多型與虛擬, 深入淺出 MFC這幾本書,
> 但是市面上卻找不到簡體中文版的,
> 想問一下先生是否有計劃將這些作品引入到大陸來,
> 讓更多的人可以從中收益?
> 此致
> 敬禮


侯捷回覆:

除了《深入淺出 MFC》1/e 曾譯為簡體版,我的其他書籍都未有簡體版。

約一二年前,陸續有接洽《深入淺出 MFC》2/e 以及《多型與虛擬》的
簡體版。但鑑於《深入淺出 MFC》1/e 簡體版有諸多誤謬(包括原碼)
又有刪減,連封面都改了,因此我不甚放心簡體版的品質,也就一直
沒有再答應。

這類來函很多。我會於 2000/下半年,待新書
《多型與虛擬》2/e 以及《泛型程式設計》完成後,
比較積極地考慮簡體版的事務。

至於我所翻譯(而非著作)之書籍,例如您提到的 Essential COM,
C++ Primer 等等。其簡體版的權利並不在我。不過我想,
不太可能有侯捷譯本的簡體版,因為原文書商會將譯權直接
賣給大陸,直接做簡體版,不會 based on 侯捷譯本。

不過目前有些討論正在形成。畢竟,購買中譯本的一個大前提是:
讀者信賴譯者的技術和文筆。大陸讀者希望看到侯捷的譯本,這種聲音
形成一個市場吸引力。所以有些出版公司開始思考,如何將
侯捷的中譯書繁體版直接銷售大陸。

但都還僅只於想法而已,因為牽涉很廣。成本、物流、金流、
大陸出版法、都需要去瞭解。


Woofer (2000/02/24) :
> 問自《Dissecting MFC》之後﹐侯老師您還出了什麼書嗎﹖

侯捷回覆:

請上 www.jjhou.com,看其中的 "侯捷 著作年表"



Wang Tong wrote (2000/02/01) :
>Hello:
> I am a reader from shanghai , how can I order your book?I want to
>buy some book for MFC,but can't find in shanghai, can you help me?Thanks!


侯捷回覆:

請上松崗網站 www.unalis.com.tw,看看有無提供海外購書。
根據過去大陸讀者給我的反應,好像不是很便利;至於有沒有成功,
我也不知道。


chong hua wrote (1999/12/10) :
>HI:
> I read some artical about your book
> <Win95 系統程式設計 - VMs & VxDs 譯序>,
> I want to get it. But I don't know how to get it .
> IF it has a type of ebook,I would rather to
> get it.Please answer me via e-mail:huachong@dekang.com
> Thank you.


侯捷回覆:

此書並無 ebook.

請上松崗網站 www.unalis.com.tw,看看有無提供海外購書。
根據過去大陸讀者給我的反應,好像不是很便利;至於有沒有成功,
我也不知道。


fandz wrote (1999/11/30) :
>侯先生,您好!
> 近日買了本您寫的《深入淺出mfc程序設計》,覺得你寫的太好了,
> 文筆精彩,思路清晰,知識淵博,想請問您還有沒有其他著作在
> 大陸出版的?如有,敬請告知。
>
> 您翻譯的作品也一樣,請您介紹。
> 致禮!
> fandz 11月30日晨于鄭州


侯捷回覆:

謝謝你的讚美。

除了《深入淺出 MFC》1/e 曾譯為簡體版,也就是說您所說的
《深入淺出mfc程序設計》,我的其他書籍都未有簡體版。

約一二年前,陸續有接洽《深入淺出 MFC》2/e 以及《多型與虛擬》的
簡體版。但鑑於《深入淺出 MFC》1/e 簡體版有諸多誤謬(包括原碼)
又有刪減,連封面都改了,因此我不甚放心簡體版的品質,也就一直
沒有答應。

我收到許多這類來函。我會於 2000/下半年,待新書
《多型與虛擬》2/e 以及《泛型程式設計》完成後,
比較積極地考慮簡體版的事務。

至於我所翻譯(而非著作)之書籍,其簡體版的權力並不在我。
我想不太可能有侯捷譯本的簡體版,因為原文書商會將譯權直接
賣給大陸,直接做簡體版,不會 based on 侯捷譯本。

不過目前有些討論正在形成。購買中譯本的一個大前提是,讀者
信賴譯者的技術和文筆。大陸讀者希望看到侯捷的譯本,這種聲音
形成市場上的一個吸引力。所以有些出版公司開始思考,如何將
侯捷的中譯書繁體版直接銷售大陸。

但是都還僅只於想法而已,因為牽涉很廣。成本、物流、金流、
大陸出版法、都需要去瞭解。

-- the end

一般 答客問 (13) - about BCB
2000.03.25

u8543010 wrote (2000/02/26) :
> 侯老師您好:
> 我是中正大學的學生
> 我很喜歡你的書
> 最近又買了你翻譯的C++ Primer
> 我很支持你保留一些原文詞彙的作法
>
> 有件事想請問您
> 就是現在Borland C++ Builder很流行
> 可是我個人覺得坊間的書籍都 ???????
> 不知侯老師是否能出一本關於BCB的書籍
> 或是對於想學BCB的人有什麼建議
> 或有什麼老師覺得比較好的書籍
>
> 謝謝
>
> 祝老師 身體健康 萬事如意


侯捷回覆:

感謝你支持我保留某些原文詞彙的作法。這對我是個鼓舞。

你說:
> 就是現在Borland C++ Builder很流行
> 可是我個人覺得坊間的書籍都 ???????
> 不知侯老師是否能出一本關於BCB的書籍
> 或是對於想學BCB的人有什麼建議
> 或有什麼老師覺得比較好的書籍


本來,私人信件可以暢所欲言,但因我公開回覆,所以將您
信中涉及第三者的評語拿掉了,很抱歉。

我沒有打算寫 BCB 書籍。

至於「給想學BCB的人什麼建議」,我想是:

1. 先將 C++/OOP 的基礎打好
2. 瞭解 Windows programming 的設計原理 (msg based, event driven)
3. BCB 的運作原理

2 和 3 要深入到什麼程度,很難說明白。尤其 3,少有此類書籍。

BCB programming 仰賴的是 VCL,錢達智先生和陳寬達先生的書在
VCL 方面都有很好的表現 — 雖然他們的書講的是 Delphi。

> 或有什麼老師覺得比較好的書籍

BCB,不論是中文書或英文書,我都讀得不夠多也不夠深入,所以
不能給你什麼建議。可寫信至 News/BBS 上請教其他人。或寫信給
國內 BCB 的名作家,他們一定有推薦名單,我想。

-- the end



一般 答客問 (14) - multithreading in C++/MFC
2000.03.25

chc21 wrote (1999/12/15) :
> 侯教授: 您好
> 筆者在一家通訊產品公司寫軟體.
> 茲有些問題向您求助即在PC 上用
> MFC寫測試程式測兩台機器.經由COM PORT(RS-232).
> 請問如何寫MultiThreading ?依您書上介紹兩本書,我也看了但仍沒有 senese.
> 不知如何規劃才是. 懇求侯教授指導.謝謝

侯捷回覆:

大哉問。

我介紹過哪些書呢?我也忘了。重新介紹一次:

1. Multitheading applications in Win32, by Jim & Robert, AW.
(Win32 多緒程式設計/侯俊傑譯/眳p)

此書談規劃少,談基本技術多。


2. Object-Oriented Multithreading Using C++
-- learn how to create multithreaded components
and application frameworks
by Cameron Hughes and Tracey Hughes, Wiley 1997.

此書的規劃層面多一些。但止於 C++,未及 MFC。


另,王家俊先生的《親手打造 網際網路四大服務》(眳p 1998)一書
實際運用 multithreading 於大型程式。雖然應用領域與你有異,
但如果你要實際觀察「multithreading 如何規劃」,這或許是個
不錯的參考。

-- the end



一般 答客問 (15) - about Pearson
2000.05.20


Leon wrote (2000/05/15) :

> 候老師,您好:
> 請問一下…,關於您所建議的書…以下這三本,
>
> Effective C++(侯捷譯,培生 2000/06)
> More Effective C++(侯捷譯,培生 2000/06)
> Exceptional C++(侯捷譯,培生 2000/09)
>
> 這三本書是「培生」出版的嗎?
> 可是我在網路上及一般書店內卻找不到任何「培生」出的書!
> 可不可以請您直接告訴我要如何與「培生」連絡的方法?
> 還有關於這三本書的相關資訊(ISBN...等),謝謝

侯捷回覆:

這三本書是「培生」出版。

「培生」是 Pearson Education 臺灣分公司的中文出版單位。
目前是否已經登記,我不知道。正式名稱是否叫做「培生」,
我也不知道。

這三本書是 Pearson 的第一個產品。目前你在任何地方都還
查不到其任何資料,我猜。不過你一定可以在 2000/06 下旬
於書店中看到《Effective C++ 2/e 中文版》和
《More Effective C++ 中文版》。

Pearson 於 1999(?) 併購了 Addison Wesley (AW) 和
Prentice Hall (PH) 這兩家知名出版公司。Pearson 中文出版單位
初期將以 AW 和 PH 的知名出版品的中譯為主,範圍涵蓋多個領域。
在電腦領域方面,主推中高階技術。

以上是我所知道的。

-- the end