整理日期 2003/11/30
我對讀者來信的回應與整理,一方面是自己留個記錄,一方面
竊自以為對其他讀者容或有點參考價值。所以依序整理下來。
為保障讀者隱私,所有來信一律隱其名,隱其址。曾經特別
囑咐我不要公開者, 當然也不予公開.



傳送日期: 2003年11月2日 AM 04:28

候老師﹐您好
稱呼您“老師”是因為我確實從您那裡獲益良多。您的《深入淺出MFC》和許多譯著如《C++ 標準程序庫》都有很高的水準﹐使學習的過程變得充滿趣味﹐沒錯﹐是有用和有趣的結合﹐有時我簡直捨不得看完﹐就像小孩子吃糖果一樣。

在網上有很多帖子提到了您和您的作品﹐有一部份對您進行批評的﹐有一些還不太禮貌。對這個問題我是這樣看的。

首先﹐不管是批評還是讚許﹐都說明瞭您和您作品在讀者心目中的份量﹐有批評至少說明批評您的人還在關注ぴ您。

其次﹐對您作品的批評說明大家對您的期望很高。在我看了您的《深入淺出MFC》後(我是先下載了繁體版後又去買的紙版書)﹐候捷這個名字在我心中就成了高品質的代名詞﹐負責任的代名詞(僅從您的勘誤就可以看出這點。而有些經典書翻的一塌糊塗﹐如機械工業出版社的Programming Applications for Microsoft Windows,Fourth Edition, by Jeffrey Richter﹐讀起來簡直想殺人)﹐里程碑式的經典書籍的代名詞﹐我相信有很多人也和我有一樣的看法。但您後來的個別譯作真的沒達到這個標準﹐如《.Net大局觀》雖說? 不共淮恚□□苣煙傅蒙鮮薔□涫榧□□禖# Primer》我沒看﹐不敢妄加評論﹐但我想也比不上《C++ Primer》和《Thinking in Java》吧。作為讀者我還是希望您對所翻譯的書選擇地再嚴格些﹐對合譯人的選擇也要嚴格些。華山派的劍法也不錯﹐但大家都想要少林的易筋經。感覺未到自己的期望﹐在網上發發牢騷也是可以理解的吧﹐您也知道﹐大家在網上說話總會添油加醋﹐夸大一番﹐真的不用當真的。

第三﹐關於書價的問題﹐說實話﹐您的書的定價確實很高(《C# Primer》是例外)﹐您對大陸和台灣地區工資的算法有些誤差﹐我已經工作三年多了﹐現在一月有RMB1400﹐因為我不在公司而在政府部門﹐但我對此倒沒有咬牙切齒﹐畢竟包括出版商、零售商等一堆人都要賺錢﹐作者和譯者就更不用說了。只要書有品質﹐而我又需要﹐貴一些也要買﹐畢竟經典好書難得呀﹗當然﹐如果您能想些辦法讓價格低些﹐書肯定會賣的更好。另外對錢的看法我和您不同﹐我尊重您的價值觀﹐但我不認為金錢即價值。

第四﹐對於您的翻譯風格我很讚賞﹐有些中英並列的寫法和某些承認沒看懂無法翻出的地方更顯出了責任心和實事求是的態度。! 大陸和台灣地區在某些術語上的不同也無關大局。但我想如果您因為都改用了大陸慣用語而能多賣一些簡體版的話﹐何樂而不為呢。

第五﹐對於一些意識形態方面的問題﹐我不發表觀點﹐我也尊重您的選擇。但我還是要說﹕反對臺獨﹗反對臺獨﹗﹗堅決反對臺獨﹗﹗﹗

最後﹐我反對網上那些進行人身攻擊的言論﹐這是對一個人的不尊重。在不尊重別人的同時﹐也表現了自己的淺陋﹐也是對自己的不尊重。

我期待ぴ您的更多的更精彩的作品﹐候老師﹐千萬別洗手﹐可憐可憐我們這些在求知中跋涉的人吧。

您的大陸學生 □□□
二00三年十一月二日凌晨四時于西安


■侯捷回覆:很開心收到你的來信。

> 我沒看﹐不敢妄加評論﹐但我想也比不上《C++ Primer》和《Thinking in Java》吧。

既然沒看,就沒有「但我想也比不上...」的發言權。凡事不要只用想的 :)
話說回來。不同的書籍有不同的定位,適合不同的讀者。只要它們能夠服務它們想服務的層次,就是好書。

> 作為讀者我還是希望您對所翻譯的書選擇地再嚴格些﹐對合譯人的選擇也要嚴格些。

我很謹慎地選擇書和人。

> 另外對錢的看法我和您不同﹐我尊重您的價值觀﹐但我不認為金錢即價值。

我也不認為金錢即價值。

> 對於一些意識形態方面的問題﹐我不發表觀點﹐我也尊重您的選擇。但我還是要說﹕反對臺獨﹗反對臺獨﹗﹗堅決反對臺獨﹗﹗﹗

我的人生觀使我尊重所有人的聲音 — 只要不是無理取鬧。我尊重您的聲音,也尊重不同於您的聲音。政治不是一切,別讓政治立場破壞了人際溫暖。我的政治立場也許和你相同,也許和你不同,但我不想說出來。如果政治立場相同才可以做朋友,這樣的人生太可憐,這樣的世界太悲慘,這樣的人不做朋友也罷。

這種尊重差異的態度在大陸教育體制所形成的主流價值觀中也許不易被接受。沒關係,我理解並微笑以對。也許有人會說侯捷偶爾會在輕鬆的軟性文章中說一些關於民主自由的想法,是的,喔,那不是政治立場,那是價值觀,普世價值觀。人民絕對不會反對民主自由。

> 候老師﹐千萬別洗手﹐

面對我熱愛的工作,又有如你這般可愛的讀者,我不會停止腳步。感謝你們。



傳送日期: 2003年11月2日 AM 12:34
我是您的一名信徒,謝謝您給大陸帶來拉這麼多好書,您的書我幾乎都買,從對象模型到STL順便問一句,怎樣在大陸購到亞馬遜的原版圖書,怎樣購到"knuth 編程藝術的4,5卷.怎樣在大陸購到亞馬遜的原版圖書,怎樣購到"knuth 編程藝術的4,5卷.

■侯捷回覆:做我的讀者就好了,不要做我的信徒,我不是教主 :)

在大陸購買亞馬遜原版圖書,和在全球各地購買亞馬遜原版圖書是一樣的。你只要有credit card,就可以上網購買了。有位朋友告訴我,amazon 不接受郵寄地址為中國大陸的訂購。但我曾經為大陸朋友購書,直接寄送到大陸,並無問題。

> 怎樣購到"knuth 編程藝術的4,5卷.

它們出版了嗎?恕我孤陋寡聞。well,直接郵購(線上購買)就好啦 :)





傳送日期: 2003年11月4日 AM 10:01
候老師﹕我是一名大陸軟體工程師﹐用JAVA寫程式已經有四年了﹐我在使用JAVA開發企業系統的同時﹐同時想深入地學習C++﹐但是我在看了□□老師寫的一本C++教程以及北大□老師的一本C++教程之後﹐又大概看了一下C++Primer 3 ,覺得有點晦澀﹐總之大概花了有一年多時間 ﹐但是我還是感覺到自己好像進步不大﹐不知道如何才能夠達到象您那樣的高度﹖特請賜教。



■侯捷回覆:巧者不過習者之門也。多實踐便是。

OO 的實踐要先從 ADT (Abstract Data Type) 起手,也就是從獨立的 class 開始,然後才進入兩層(頂多三層)的繼承關係。都熟練之後,有需要的話,才學習如 application framework 那種深廣的 OO hierarchy。



傳送日期: 2003年11月4日 PM 07:57
尊敬的候先生﹕拜讀你的大作《深入淺出MFC》﹐深有感觸。象這樣的好書現在實在是難找。您的一句“做一件事情﹐不明白它的道理﹐實在不高明”讓我感動﹐重燃我求知的渴望。希望今後可以看到先生更多的著作。

■侯捷回覆:很開心收到你的信。「做一件事情﹐不明白它的道理﹐實在不高明」這話是林語堂在《朱門》一書中說的,我不能掠美。

> 希望今後可以看到先生更多的著作。

一定會的。祝你學習順利。

 

傳送日期: 2003年11月4日 PM 09:45
您好﹕我不是做IT這行的﹐但是看了您在CSDN中的帖子http://www.csdn.net/news/newstopic/9/9094.shtml﹐感覺到您似乎受到了傷害。由此也可見﹐您的確是做事情比較認真嚴謹的人。

關於書價的爭論﹐我覺得簡直是有點不可思異﹐人的時間很寶貴﹐大男人怎嗎像個小姑娘一樣婆媽。喜歡﹐就不貴﹐不喜歡﹐再便宜也不要啊。

我只是希望您不要為此對國內的事情灰心。大家都是中國人﹐都是炎黃子孫﹐所以我還是希望您能繼續在您的心中充滿愛。

我不是做技術的﹐但是看過您寫的幾篇文章﹐比如講建築師的那篇古文﹐都很好。由此可見﹐大陸的教育質量的確是比台灣落後了﹐一個民族﹐如果沒有自己的根﹐是一件很讓人痛心的事情。

所以我強烈的要求您保留併發揚您的寫作風格﹐在寫技術書籍的同時﹐宏揚祖國的傳統文化﹐:)﹐坦白說﹐我甚至覺得您去寫散文隨筆要比寫IT書籍更能造福大眾﹐嘿嘿﹐不過可能會餓肚子罷拉。

我想﹐在這個世界上﹐你不可能要求每個人的想法都能與你一樣﹐正是差異造成了世界的變化與美好﹐所以﹐我覺得您沒有必要那麼生氣﹐說出傷害自己也傷害別人的話來﹐畢竟﹐這個世界雖然不美好﹐但這也正是一代人的責任所在。否則﹐要你何用﹖

進步來自點滴的努力與改善﹐別灰心﹐一切都會好起來的。

另外﹐看到候老師夫人的照片﹐真的是一個大大的美女啊﹐:)﹐真的好羨慕您哦。難怪您的心中總是充滿了愛哦﹖

嘿嘿﹐不說廢話拉﹐耽誤您時間了﹐加油干吧﹐期待ぴ能看你更多的好文章

你的小朋友 -- 來自北京 ﹐希望您對這個城市不要有壞印象 :)

■侯捷回覆:謝謝來信。我沒有灰心,也沒有傷心,正積極地繼續做我喜歡做的事 :)

我對北京以及所有城市,以及所有我們的同胞,都抱持友好的態度。當然有時候不一樣的生活習慣或價值觀會引發一些鬱悶,這不只發生在我對別人的觀感上面,一樣會發生在別人對我的觀感上面。我期許自己更平和更寬大些,期許自己追求更好的修養。

過去以來讀者對美靜的誇讚,已經使得她不敢去大陸了。現在又加上你這一封!! 你所看到的,都是年輕時候的相片。人會老,珠會黃,別再給她壓力了,呵呵,否則她真的不敢也不願見我的讀者們 :)

 

傳送日期: 2003年11月4日 PM 11:13
侯捷先生您好﹐我是一個windows程序設計的初學者﹐看了您的兩本書﹐《深入淺出MFC》和《essential C++》您的作品使我清楚了WINDOWS程序的運行原理和運行過程﹐真的是受益很多﹐感謝您為我們學習者所付出的一切﹐順便問一下哪裡可以得到
essential c++書中的完整源代碼﹐比如說第一章的數列問題的代碼﹐謝謝﹗

■侯捷回覆:http://jjhou.csdn.net/jjtbooks-essential-cpp.htm





傳送日期: 2003年11月6日 AM 11:44
候老師﹕您好﹐首先請原諒我的“小人之心度君子之腹”﹐我真的沒想到會收到您的回信﹐很開心﹗讀您的信﹐越讀越不是滋味﹐再次請您原諒我的怨天尤人。以前我不是這樣的﹐可能最近看到太多的同齡人有所成就﹐所以嫉妒而導致的﹖(但願在您眼裡這不是一個借口)

讀完您的信﹐我還是忍不住流淚了。您是一個君子﹐一個相信別人的君子。因為您僅憑我的一封電郵就願意幫助我﹐寄書給我。原諒我沒有看您的書籍清單﹐因為是否接受您的書籍我做了很大的思想鬥爭﹐一方面不願意接受“嗟來食”﹐另一方面我的確是想擁有您的一兩本新書。所以我沒有看書籍清單。

... 這是三本我在書店看到的您的書﹐如果……。我不曉得該怎麼說﹐不管怎麼描述﹐我都覺得給您寫信似乎是為了利益﹐這讓我感到很不安。我渴望的是一個能聽我傾訴、跟我交流的長者﹐希望我有這個榮幸﹐並能保持和您的電郵往來。我的地址是﹕...。另外﹐您能給我您的地址嗎﹖願您和您的家人身體健康﹗

■侯捷回覆:我並沒有覺得你怨天尤人,也沒有覺得你嫉妒。你更不該認為我的贈書是“嗟來食”。我是誠意要幫助你,並希望將來你有力量時也幫助別人。幫助別人是一種美德,坦然接受別人幫助是一種氣度。誰沒有受到過別人的幫助呢 :) 你好好看書,有所精進,我就非常開心。我知道你寫信給我並不是為了利益。

你要我的地址,是為了寄東西給我是嗎?不,不要這樣,寄東西到臺灣對你是很麻煩的,別費心。我很高興你有這份心意,這樣就好了。




傳送日期: 2003年11月6日 AM 11:57
謝謝你好所譯的好書(《Windows 95 系統程式設計大奧秘》)。致禮﹗

 

傳送日期: 2003年11月6日 PM 12:40
侯先生:您好!今天收到了您的來信,真高興。打開信一看,是亂碼,還好裝解碼器不麻煩,不知您看我的信時有麻煩沒?先生的點化令我疑惑頓消,先生的鼓勵給我加足了油,我口拙,不知說什么好,現給先生鞠三個躬,一鞠躬,二鞠躬,三鞠躬。

我已經將《深入淺出 MFC》看完,前 9章一气呵成;后7章只按書中步驟寫出程序,未深究,因為在看MFC之前,我未學過window編程,只要涉及API函數過多,我就理解不透,所以后7章未花太多時間,4天搞定。先生果然是高人,將MFC講的如此深刻易懂,我一門外漢現在對window源程序也能看出個眉目來,再次叩謝先生!

讀書過程中有很多不解,也發現了一些錯誤,現列于下.我以我的書為准,《深入淺出 MFC》2001年1月第二版,2003年7月第13次印刷,簡体版,不知先生有樣書沒。錯誤在書中的位置格式為:P頁數(章節數+小節名+具体位置),先生對照書的目錄能很快找到。我使用visual c++6.0,所有編程在其中完成。听說先生要出第三版,故其中還摻雜一些建議,希望先生不要跳過。

(1)P59(第二章+“虛函數与多態”之“三個結論”) :
結論2中有一方框,其中語句“pDeri=&Base; //這种做法很危險,不符合真實生活經驗”,“pDeri=&Base;”應該為“pDeri=(CDerived *)&Base;”,不然該語句不僅“危險”而且編譯通不過。

(2)P65(第二章+“類与對象大解剖”):
讀這一小節,總有個疑問在我腦中,“一個基類指針p,它指向其派生類對象,通過它訪問虛函數,比如p->vfunc2()。那么編譯器怎么知道‘指針p指向一個派生類對象’,怎么知道‘函數vfunc2()為虛函數’,進而知道‘要調用派生類的函數’?”。我怀疑是this隱含參數起的作用,即調用函數時在this的vptr指向的vtable中找。

(3)P71(第二章+“靜態成員(變量与函數)”):
第二段文字中有語句“你應該在應用程序文件中,類以外的任何位置設定其初值。例如在main之中,或全局函數中,或任何函數之外:”。我測試過,只能在任何函數以外設定靜態成員的初值,不然有編譯錯誤。

(4)P73(第二章+“c++程序的生与死:兼談构造函數与析构函數”):
該小節的前一小節談了靜態成員,如果在類Demo中加入一靜態成員,該靜態成員是另一類的對象,那就帥呆了。(純屬建議)

(5)P123(第三章+“Frame6范例程序”之“MY.CPP”):
在該頁,函數AfxPrintAllClass()在#0050行聲明,在#0021行定義函數PrintAllClass,兩者不符。為与“Frame3范例程序”保持一致,#0050處的函數聲明應該錯了。

(6)P124(第三章+“Persistence(永久保存)机制”):
第三章我無話可說,精彩之极。但本ぴ“愛便苛求”的原則,我對這一小節還是有不痛快之感,要責難先生了。

“Persistence机制”需要宏DECLEARE_SERIAL / IMPLEMENT_SERIAL 的原因先生未說清楚,好象不是“理所當然”的吧,兩個宏中并未引入新東西。
將operator>>放如宏DECLEARE_SERIAL中的原因是什么呢。
先生以“需要很多東西要防真”“干脆在本書第8章直接為你解釋MFC的做法”而未模擬 “Persistence机制”,實在是失策。我認為六大關鍵技術中除了“Command Routing”外就屬它最難了,而且它比“Command Routing”還要難理解些,因為它要牽涉到讀寫磁盤,加上了神秘的外衣。先生自己輕松一點,讀者要多啃掉几顆牙。

(7)P133(第三章+“Message Maping(消息映射)”):
本頁下面,在定義宏#define BEGINE_MESSAGE_MAP時,有一行
“(AFX_MSGMAP ENTRY*) &(theClass::_messageEntries)};”,應該掉了“[0]”,為:
“(AFX_MSGMAP ENTRY*) &(theClass::_messageEntries[0])};”。該問題在下面位置也出現了: P140+“#0052”行。

(8)P137(第三章+“Masseage Maping(消息映射)”):
該頁最下面一行,“CFrameWnd *pMyFrame=(CFrameWnd *)pApp->m_pMainWnd;”
先生為何要用“CFrameWnd”而不是“CMyFrameWnd”呢?結果沒錯,但憑添誤會,以為pMyFrame指向CFrameWnd對象,在后面會引起不必要的麻煩。
改為“CMyFrameWnd *pMyFrame=(CMyFrameWnd *)pApp->m_pMainWnd;”為好。

(9)P165(第三章+“本章回顧”):
“Runtime Time Information”應為“Runtime Type Information”。

(10)P284(第六章+“CFrameWnd::Create 產生主窗口(并先注冊窗口類)”):
此小節并沒有什么錯誤,只是有欠周到之處。
“P325(第7章+‘主窗口的誕生’)”該小節中第326頁第二段文字中有“窗口產生之際會發出WM_CREATE消息”,我怀疑是在CFrameWnd::Create()中發出的該消息。若是,為什么在P284中相關位置沒有提到呢?
“P342(第8章+‘CDocTemplate 管理 CDocument / CView /CFrameWnd’)”該小節中第345頁最后兩行有“WM_CREATE引發CFrameWnd::OnCreate被喚起”,為什么在P284和P325中相關位置沒有提到呢?
我看到上面兩處時便產生了疑惑,為什么同一個函數在不同的地方有不同的行為呢?這本是很正常的,其原因我也試ぴ推敲,但模模糊糊,不甚透徹。先生總要提一下的好,或簡或詳,有個交代。

(11)P384(第8章+“台面下的Serialize讀文件奧秘”):
先生將[File/Open]命令后的行為全列出來了,精彩之极。我想該命令總要引發CScribbleView::OnDraw()的調用,將讀出的文件在窗口中顯示出來。在您列出的源碼中找了半天,但沒找到,怀疑有玄机。我認為OnDraw()的調用很重要,因為它是“果”。先生能否指出。

(12)P387(第8章+“台面下的Serialize讀文件奧秘”):
此處純為印刷錯誤。有兩個方框,下面一個方框中第7行:“CRuntimeClass *”,
應為:CRuntimeClass *pClassRef;

(13)P394(第8章+“Serializable的必要條件”):
先生講了一個類意欲成為Serializable,必須有五大條件;卻沒講“什么類有必要成為Serializable”。這個問題此節沒講,整本書也沒講。我認為它比“Serializable的必要條件”更重要。什么類要必要讓它成為Serailizable呢?

(14)P405(第8章+“在COblist中加入CStroke以外的類”):
本頁有一張表格,對應左頁“圖8-10a”。兩者應該相符才對,但有四處不一致。
“第一條線條的第一個點的坐標”:“00000066,0000001B”應該為0000006E,00000024;
“第一條線條的第二個點的坐標”:“00000066,0000001B”應該為0000006E,00000024;
“第二條線條的第一個點的坐標”:“00000066,00000031”應該為0000006E,00000055;
“第二條線條的第二個點的坐標”:“00000066,00000031”應該為0000006E,00000055。
我很納悶,是不是我看錯了。
還有個疑惑。此節剛開始時,先生說“Scribble Document 傾印代碼中的那個代表“舊類”的8001一直令我如坐針氈,不知道什么情況下會出現8002?或是8003?或是什么其它的東東。因此,我打算做點測試。”,我以為又有好戲看了,可是先生將測試后的傾印代碼列出,又列一表格(即上面的表格)略作說明后就打住了。為什么會出現8003和8005呢?“索引為3的舊類”指什么呢?為什么索引為“3”呢?存在并不意味ぴ合理。此節先生恐怕沒寫完吧。

(15)P425(第9章+“二万五千里長征--消息的傳遞”之“直線上朔(一般window消息)”)
我怀疑#0129 “LDispatchRegistered: //for registered windows messages”下面是否掉了一行: union MessageMapFunctions mmf;。
我揣測“LDispatchRegistered:”与左頁的“LDispatch:”兩程序段是并列的,后者有該語句,前者也應該有才是。我對window程序不懂的地方太多,只是“感覺”不對勁,先生自行判斷。

(16)P528(第13章+“窗口的靜態三叉拆分”之“Graph范例程序”)
該頁下面有一清單,怀疑是否弄錯了。其中Text應該為Graph才是。

我挑剔的很嚴,然而只找出了上面16個“不盡我意”的地方,足見其嚴謹。

收到先生信的前一天,我已將Jeff Prosise的《MFC Windows 程序設計》第2版捧回家。不知讀不讀得完,太厚了,恐怕翻譯水平沒先生好,要是太無味我怕是要放棄的,當字典用。
光看完這封信就花了先生不少時間吧,嘿嘿:)。不敢再耽誤先生時間。此致敬禮
祝先生家庭幸福,身体健康!

■侯捷回覆:

 



傳送日期: 2003年11月9日 PM 10:03
侯捷老師你好﹕買了你的書﹐是mfc,和你翻譯的多線程程序設計﹐正在看之中﹐深有收穫﹐
我正在學計算機﹐大二﹐對於未來真的沒有多少概念﹐只是在學東西 ﹐卻不知道幹什麼﹐希望能夠得到你的指導

 

 

傳送日期: 2003年11月12日 AM 10:21
侯老師您好, 我是一位剛出社會的六年級新鮮人,
自覺能力不足, 學海無涯, 目前正努力從 C 轉型成為工作上所需要的 C++ ( with MFC )
最近也開始拜讀老師的數本大作, 在下班之後, 致力自修.
但開卷閱讀之際, 即便勤奮抄寫筆記, 甚或朗聲反覆吟哦,
卻始終感覺心中空泛, 頗有不實際之虛幻迷障阻礙眼前.
更有想乾脆放棄之念頭.
故在此很冒昧的寫信向老師請教幾個學習上的盲點,
懇切希望老師能不吝撥冗為學生惠賜解惑釋疑之南鍼.
如蒙應允, 有勞賜函以告.
方敢續問. 敬祝 教安.




傳送日期: 2003年11月12日 AM 01:01
侯老師﹕我是編程的初學者﹐是上海同濟大學大二的學生﹐我的老師從一開始就推薦您的作品。我們同學對您的作品都很喜歡。通過讀您的作品﹐我自己也確實頗有收穫。在此感謝您的工作﹗

我很佩服您精湛的技術﹐很欣賞您的灑脫﹐讀您的文章總會感到平實之處卻入木三分﹐我喜歡您的達觀﹐還有佛學的禪意。很多時候﹐品味您的文章往往可以使我對人生有所感悟。您的國文水平很高﹐讀您的書﹐往往感覺編程技術不是那麼的枯燥﹐總有些精妙的玄理蘊含其中。這是我從別的計算機書那裡學不到的。

我是同濟大學軟件學院學生會科技部的負責人﹐在此﹐我有點冒昧的希望您有機會來我們學院講學﹐軟件學院數百名學子衷心的期盼您的到來。

最後﹐我代表我們學院所有同學祝您身體健康﹐工作順利﹗再次感謝您所作的一切﹗

■侯捷回覆:很開心收到你的信。也很開心聽到你說我的書對你帶來的影響。

每年我會去大陸一次,上海和北京是最常去的地方,所以的確有機會和同濟大學的同學們見面。我的 2003 大陸行剛結束,才剛於 10/30 返台。所以相見將是明年秋天的事了。我的所有公開行程都會公佈於侯捷網站頂視窗的 "演講授課" 欄目中,歡迎明年秋天看到我的大陸行程後和我聯絡(如果我明年有上海之行的話)。此外我不清楚你說的講學是什麼性質。如果是長時間開課,就沒有辦法。如果是一兩個小時的輕鬆座談,我很樂意和同學見面。

同濟大學是有名的大學,我有所耳聞。願你們好好學習。

傳送日期: 2003年11月15日 PM 04:00
侯老師﹕很高興收到您的回信。您在百忙中給我們答復﹐真是我們的榮幸﹗

我知道您的2003大陸之行已經結束﹐在您的網站已經看到了“丈夫未可輕年少--2003大陸行”紀實。同學們都很感激您對大陸的關心﹐感激您對計算機事業的貢獻。

同學們都期盼明年您可以來同濟大學﹐來我們軟件學院。相信您的到來將是同濟大學的盛會。

前一封信沒有把“講學”的事說清楚﹐很抱歉。我所說的講學就是您講的一兩個小時的座談會。真心期盼您的到來。

隨信說說我們學院的情況﹕同濟大學軟件學院是全國剛剛成立的35所示範性軟件學院之一。今年10月份結束的教育部對軟件學院的評估中﹐我們學院很幸運的名列全國前六名﹐上海第一。全院上下都很務實﹐都在努力使學院辦得更好。我們的院長副院長都非常希望您能來學院講座。

又一次寫信打擾您﹐心裡很是抱歉。雖然您明年秋天才會有大陸行﹐但是怎奈心中期盼之情切切﹐還請您見諒。您明年秋天大陸之行(但願您有上海之行)時我會通過電郵聯繫您﹐不知是否方便﹖期待您的回復﹗

■侯捷回覆:我很開心有機會和同濟大學的同學們見面。請於明年秋天(九月初)來信聯絡。看來我一定要安排一趟上海之行了 :)

 

傳送日期: 2003年11月13日 AM 11:07
jjhou侯老師﹐您好﹗
你的大名我早已聽說﹐一直很想做C++的編程﹐可是工作和生活的壓力﹐使得我不得不先去學習其他語言的內容﹐對於C++﹐今年才得以有一個了解﹐在了解了C++的一些基本內容之後(我是用C++ primer第三版來學習C++的﹐因為有object Pascal語言的基礎和Basic語言的基礎﹐總算看的來)﹐我決定對VC作一個了解﹐一直不知看那些書來學習﹐但我想VC應該是在C++標準之下﹐封裝了Window API為一些類型庫來開發吧﹖如果是這樣﹐我選擇讀你的《MFC深入淺出2e》應該是正確的選擇。雖然可能會比較困難。
另外我有一個疑問﹕在vc++.net中﹐大家都說 .net framework﹐那麼MFC在其中是個什麼樣的位置呢﹖

■侯捷回覆:.net framework 是個 framework,MFC 也是個 framework,但前者遠比後者的規模和格局都大得多。

 

 

傳送日期: 2003年11月13日 PM 12:45
侯老師您好﹕初次寫信給您﹐很是激動。(感謝﹐讚美﹐神往。。。的話省去為佳吧)
今天又看了您的無責任書評《選義按部﹐考辭就班〉﹐您說﹕人的理解力可以無窮﹐但人的記憶力有限。當本身實力發展到某個層次﹐實力不是靠「警敏強記」來判別或完成﹐而是要知道哪裡可以找出正確而適用的資料。

您雖然提到過看電腦期刊﹐瀏覽論壇﹐利用WEB超級鏈接管理資料﹐但總是感覺意猶未盡﹐不夠系統﹐能不能具體說一說您和您的朋友是如何蒐集和整理資料的﹐多說一說這方面的經驗﹖萬分感謝﹗祝您全家平安幸福﹗

■侯捷回覆:不說以前,就說現在吧,那就是勤動手:貼標籤、做註記、寫交叉索引(cross reference)、寫各種歸納整理助憶的小檔案(文件)。


傳送日期: 2003年11月14日 AM 02:53
候sir﹐您好﹗原諒我如此稱呼您﹐要怪就怪您的書寫得太精彩了﹗呵呵...
拜讀你的得大作《MFC深入淺出》四遍﹐受益頗深。您得書我很不珍惜﹐圈圈點點的﹐被我劃滿了﹐我很珍惜裡面的文字。

看您書的過程中﹐我動了一個念頭﹐就是自己在SDK下製作一個MFC簡易庫。實現所有的核心技術。我長時間沒能繼續下去。今年暑假﹐我開了一個培訓班(賺點外快)﹐在課堂上﹐我說我將在SDK下實現一個MFC庫。一個星期的努力﹐我做到了。早想告訴您﹐怕被您笑話。

在我的培訓班上有一些研究生﹐有些學生也讀過您的書﹐他們也很想有一個SDK下的實現品。我想﹐我的一個星期功夫﹐可能對於這些朋友還有些幫助。(我很擔心這句話﹗)
我的簡易MFC庫包括如下部份﹕MFC繼承體系的架構﹔形成視窗界面﹔RTTI技術﹔動態創建﹔序列化﹔消息映射﹔文檔視圖結構。現在我將他們全部傳給您。
哦﹐我忘了向您介紹一下我﹐我叫□□□﹐是□□□□大學計算機系研究生﹐剛剛簽到金山公司﹐北京研究院﹐任助理研究員﹐明年上任。謝謝您的書﹗

■侯捷回覆:謝謝你寄給我你的心血,我已經把它妥善儲存。目前我正在忙其他事情,將來重新啟動我的《Application Framework 基礎建設》(暫名)書籍寫作時,一定會把你的東西拿出來好好看一看。 我想你肯定學得很紮實,才能夠做出一份屬於你自己的模擬作品。無論規模如何,對你都是很好的一個訓練。我這裡也有一個模擬,不知你見過沒,可以參考。

 

傳送日期: 2003年11月14日 PM 05:33
先生你好﹐我是剛剛畢業的一名大學生﹐現在在深圳工作已經有4個多月了﹐C++程序員﹐開發工具用VC﹗我現在有很多問題﹐比如我的編程技能不是很高﹐我只好看書﹐但是每次總是不想把程序在機器中實現﹐也許是因為我太懶了吧﹗但我真的想從中得到樂趣。今天又有人讓我用VC寫界面﹐看得我頭都大了﹐我腦海中的VC不是用來寫界面的﹗我已經把《MFC Windows 程序設計》大體上看了一遍﹗可是還是覺得寫不出程序來﹗因為MFC知識那麼多﹐怎麼記得過來呢﹖我該怎麼辦﹖我想回頭再惡補C++﹐看一看《C++ Primer》﹐再看一遍《MFC Windows程序設計》 ,我不知道這樣會不會管用﹗我很痛苦﹗:-(

■侯捷回覆:如果你只看書不實作(實現),你會繼續痛苦下去,而且沒有人能夠拯救你。

是有那種只看書而不必動手的人,因為他們已經有了非常好的積累,很多時候他們不必再上機,只需在關鍵點驗證一下就可以了。但你似乎還不是這樣的人。

也有另一種只看書而不必動手的人,他們的頭腦非常聰明,而且走的是計算機科學(理科)路線,不是計算機工程(工科)路線。你也似乎不是這樣的人。

你走的是 programming 路線,你的資質平庸(常態分佈下 80%的人都如此,包括我),那麼你就必須動手。徒學不足以自行,別落個眼高手低。想學好 programming 又不動手,就像在游泳池學游泳一樣,永遠學不會。

選好書看,是一個很好的開始。但是記住,徒學不足以自行。

給你一個棒喝,不是要潑你冷水,是希望你醒悟。

 

 

傳送日期: 2003年11月18日 PM 09:51
我在讀你的程序時,看到的註釋部份都是亂碼,估計你寫的是繁體的註釋,我現在該怎麼辦?怎樣才可以看到你的簡體或繁體的註釋而不是亂碼! 謝謝

■侯捷回覆:如果你讀的是書中所附CD的程序代碼,我很抱歉,是我的疏失,應該將它們轉為簡體。解決之道是:請下載任何一個繁簡轉換軟件(網上有許多免費的此類軟件)自行轉換。

如果你讀的是侯捷網站上免費開放的程序代碼,我原本就沒有特別為大陸讀者準備簡體版。解決之道同上。


 

傳送日期: 2003年11月19日 PM 05:26
居住省份(臺灣讀者請寫縣市):台北市
對侯捷的建議:謝謝你的MFC的電子書,現在學校正在使用你翻譯的C++ Primer 3rd edition 中文版, 很感謝在軟體界裡面有像你這樣的大師,可以讓我們學生有很好的學習範本!!

 

 

傳送日期: 2003年11月19日 PM 08:58
侯老師﹕您好﹗ 希望你能看到這封信。也感謝你能在百忙中看一個計算機專業學生的迷茫。
我是中國大陸一個普通高校的在校大學生﹐今年大四﹐即將面臨畢業。但是我對未來一點都不明白﹐更不明白我學了三年多﹐出去能幹什麼。

我們開的專業是計算機科學與技術﹐我算了一下﹐我這些年學的課程和計算機相關的有
計算機導論 C++基礎 網絡原理 彙編語言 信號與系統 組成原理 編譯原理 計算機接口技術 計算機圖形學 計算機輔助設計(CAD) UNIX系統 軟件工程 數據結構
在修的﹕數據庫原理 單片機原理 中文信息處理技術 故障診斷 計算機系統結構

這些就是差不多是我所學﹐現在我連編程都不會﹐我也很想好好學習﹐但是很多時候我都感覺有心無力﹐我不知道我該學些什麼﹐我給自己定不出來一個學習計劃。真的很痛苦。
侯老師真心希望你能指導一下。我應該怎麼樣開始重新學習。


■侯捷回覆:來信很籠統,我無法多說什麼。如果你的問題在於不知道正確的學習路線,侯捷網站上有不少文章,歡迎你看看。

我相信你的同學一定不是全都像你一樣地徬徨,何不去問問他們的學習經驗?我能給你的只是溫暖和鼓勵,你的同儕有著和你完全相同的環境、課程、教材、師資,他們能夠給你真正意義上的幫助。當然首先你得敞開胸懷,你得發奮立志。

 

 

傳送日期: 2003年11月20日 PM 01:58
您好﹕首先我要感謝你﹐是你的書讓我成為一個真正的c++愛好者﹐我想問的是﹐當你已經成為了一個c++高手之後﹐是什麼讓你繼續不停的再學習﹐再深究﹖

■侯捷回覆:首先,現實地說,這是我的工作。沒有更多的學習和深究,我的書籍課程文章乃至我個人,在業界和教育界就沒有吸引力,我的生計就可能有問題。其次,這是我的興趣;日復一日地停滯不前會使我窒息。

 

 

傳送日期: 2003年11月20日 PM 08:12
侯老師: 您好!
我非計算机專業(但很有興趣),因此在問一些專業問題時總感到底气不足,有自卑傾向.
最近我在看<<COM原理>>時遇到一些術語想請教侯老師您:
#.1"傾印","轉儲"是什么概念?
#.2"靜態鏈接庫"是什么概念?
其實我也很擔心會不會收到回信.因為回信畢竟要占用您(科學家)寶貴的時間.謝謝!

■侯捷回覆:傾印就是 dump,就是把資料(數據)內容全部傾倒列印出來,通常用於檢視、除錯(debug, 調試)。"轉儲" 的意思需看上下文,這裡無法回覆。靜態鏈接庫是 static link library,意指會和可執行檔(executable file)綁在一起的程式庫,相對的是 dynamic link library。

我的時間不允許做線上教學,或做各位的活字典。這些問題請使用GOOGLE搜尋,或上論壇發問求助。祝你學習愉快。

喔,還有,我不是科學家 :)

 

傳送日期: 2003年11月23日 AM 08:54
我是一C++的愛好者,
最近買了一本<<the c++ programming language>>,
但有很多地方看不明白,
希望你能給我一些指導,使我能充份利用這一本.
謝謝你,侯老師!!!!!

 


傳送日期: 2003年11月23日 PM 03:49
主旨: 你們台灣要被我們收復了,你等著瞧吧
寫個網站像頭豬一樣,下載還這麼麻煩,你個頭豬,有本事和SUN公司比嗎,IDIOT,滾吧

 

 

傳送日期: 2003年11月24日 AM 10:49
侯老師: 您好!
最近一個星期來,一直在讀您的<<深入淺出MFC>>,我很遺憾我這麼晚才開始看這本書,不過話說回來,就是以前看,怕是也看不懂的.

早就想給您寫信,告知我對您的感激之情.我現在還是一個在校的大學生,我最大的理想就是做一個合格的程序員,家人和朋友都不贊成,不希望我太辛苦.而我現在也有一種孤單的感覺,週圍的女孩子沒有一人願意涉足這個領域.我現在已經開始起步,而且看了您的書,心情也漸漸明朗.我不怕辛苦.雖然我這個理想已樹立很久,但我不得不承認我走了很多的彎路,在遇到困難又解決不了的時候,我很矛盾,想放棄又于心不忍.到了今天,我很堅定,別人都說編程需要天份,我也知道的,但我不知道自己有沒有,也許真的沒有,可是我必須要試過了才會承認.

我還希望,將來實現了自己的理想之後,做一個很特別的網站,我要鼓勵那些想學編程的女孩子,給她們堅持下去的信心.

侯老師,我從內心裡敬佩您,這敬佩裡,有您精深的計算機知識,還有您對於讀者的熱情,在我的觀念裡,一直認為,您這一類人,往往是極清高的,對於我們提出的一些簡單的問題總是不屑一顧的.而事實上,您卻是如此的平易近人.請允許我為您鞠上一躬,以表示我對您的感激和崇敬之情!
想必您一定很忙,我就不多言了.

祝您身體健康,快樂,進步!
您忠實的讀者 □□

■侯捷回覆:編程不需要天份!當然啦,天才程序員需要天份,但做好一個稱職的程序員並不需要天份,只需要中等資質和邏輯思考方面的性向,以及對編程的興趣。

我不知道我是否回答過你什麼問題(讀者來函一經處理便被我刪除)。不過,anyway,我擔不起你的讚美。有些人沒回答簡單問題,是因為他們很忙碌,並不是對問題「不屑一顧」。網絡論壇上有那種非常非常熱心回答問題的人,簡單問題宜往該處去 :)

我有時候迅速回覆讀者來函,讓他們大吃一驚(例如回你這封信)。這是因為我正在做同類事情,或心情正好又有空閒,或來信太感動我,或來信所言剛好我順手就能回答...。但這些在我皆非常態。

最後,我很開心有你如此禮貌的讀者,以及如此毅力的女讀者 :)
千里之行,始於足下。加油。

 

 

傳送日期: 2003年11月26日 AM 12:50
候先生﹕您好﹗今天拜讀了您的大作《大局觀﹕泛型程式設計與 STL》﹐獲益良多﹐向您道一聲感謝﹗

但我有一個小小的問題不解﹐想向您請教一下﹕關於refinement的含義﹐我還是有點不清楚。
refinement﹐我從字面上理解是類似于
數學上子集的意思或OO裡derived class意思。
但從您的文章中看﹕“如果 concept C2 供應 concept C1 的所有機能﹐並且(可能)加上其他機能﹐我們便說C2是C1的一個refinement”﹐好像與我理解的剛好相反。
在這裡﹐是C2的範圍大些還是C1的範圍大些呢﹖
我試圖從下面的文字推斷﹐但不管理解為那個更大些﹐都可以實現 reflexivity, containment 和 transitivity。

您能否給我一個更詳細的解釋﹐幫助我來理解"refinement"呢﹖謝謝?

■侯捷回覆:您的問題很好很有意思。refinement 的字義是精鍊、強化的意思。也許因為「精」、「強」之意,使得大家的第一個印象是數學上子集」。但在 Generic Programming 中關於 "concepts" 的定義是,所謂 refinement 是指如果   concept C2 涵蓋了 concept C1 而且又有更高(說更寬、更廣都可以)功能的定義,我們就說 C2 是 C1 的 refinement。一個最易理解的例子:bidirectional-iterator 是 forward-iterator 的 refinement(強化),也就是說 bidirectional(雙向)不但涵蓋了 forward(單向前進),還多出更多功能。

(續上例)因此,C2 的範圍比 C1 大,並不是 C1 的子集。你提到 OO裡derived class,其實 OO derived class 也是比 base class 範圍大的(單從 object model 也可以看出來)。

關於 object model,可參考《深度探索 C++ 對象模型》,Lippman 著,侯捷譯,華中科技大學出版社 (簡體版)。
關於 concepts,最詳細的說明是《泛型編程與 STL》,Austern 著,侯捷譯,電力出版社(簡體版)。



傳送日期: 2003年11月26日 AM 10:07
侯先生﹕我是您的忠實讀者﹐關於您的書我基本上都有。從您的書中學到了許多知識﹐非常謝謝您。在此﹐想向您咨詢一下﹕
您的一本著作《泛型思維》和一本譯作《C++ TEMPLATES》是否會有簡體中文版。如果有的話﹐大概會在什麼時候在大陸出版。謝謝﹗﹗我期待這兩本書已經有很長時間了。如果您方便的話﹐請給我發封郵件。

■侯捷回覆:謝謝關心我的作品。《泛型思維》擱下一段時間沒進行了,短期內很不可能繼續。《C++ Templates》譯本大約可於 2004/01/30 前出版(中間遇到春節)。請注意,侯捷譯本只出繁體版,大陸另有簡體版譯本。

-- the end