想學某項技術,於是到書局打算買書,但是面對書架上陳列出來琳瑯滿目的書籍,卻又不知該如何選擇起……。你一定也有過這樣的經驗。
我曾經在我以前的一本譯作「細說 Java 虛擬機器」的序中,和讀者分享我挑書的方法。我把它整理改寫成這篇文章,希望能對喜歡看書的你有所助益。
資訊科技變化相當快速,技術、規格不斷地推陳出新,閱讀電腦技術書籍是讓自己不被資訊洪流淹沒的最好方法,因為:
規格書或軟硬體手冊雖然推出較早,且內容詳細完備,極具參考價值。並非依照循序漸進的方式編排,所以不容易閱讀。而電腦技術書籍有循序漸進的內容,可以按部就班地學習。
電腦技術書籍的內容相當務實,有許多範例和說明,適合自我學習。
自我摸索的學習方式固然紮實,但也相對 耗時費力。透過電腦技術書籍作者的經驗傳承,你可以輕易地從書上學到許多寶貴的知識,大大地縮短學習曲線。
書籍不斷地上架,在逛書局的時候,你會迅速地瀏覽一下你感興趣的書,在這短短的幾分鐘之內,你希望能判斷出你手上這本書值不值得買。你當然不會因為書的印刷精美、價格不菲,就認定它是一本好書,畢竟這年頭「金玉其外,敗絮其中」的例子所在多有,輕忽不得。你用來據以判斷購買書籍與否的因素可能有:
書籍內容:內容講的是操作還是程式設計?是用 C++ 還是 Java ?偏向網路還是資料庫……?我有一個朋友想學 SQL Server 的操作,卻不小心買了「SQL的奧秘」,這是一本專講 SQL 語法的書,和 SQL Server 八竿子打不著,顯然他沒有評估到「書籍內容」,這本書註定要壓箱底了。
讀者定位:讀者需要有什麼樣的基礎?這是一本入門書、進階書、還是專家級的書?即使是再好的書,如果讀者定位不適合你,太深或太淺,買了對 你的幫助不大,只是瘦了荷包罷了。一些經典且相當深入的書,在 Amazon.com上面常常會有一些搞不清楚狀況的讀者給它極差的評價,因為他們程度還不到所以看不懂。而像 Deitel & Deitel 的「Java: How To Program」也常惹來有經驗的 Java 程式員給予「沒程度」之譏,他們卻沒想到這樣的書對初學者有相當大的幫助。他們都是犯了沒認清「讀者定位」的毛病。
作者背景:作者有哪些技術背景?過去著作的風評如何?有些作者相當愛惜羽毛,所寫出來的書不 但內容充實、文字洗鍊,更要求出版社要印刷排版精美、校稿確實,這種作者的名字比「CAS優良肉品」的標記更讓人放心, 通常這種書我是不會錯過的。但有的讀者為了趕著讓書「上市」(我覺得這裡用「上市」一詞比「問世」來得恰當),不惜瞎拼亂湊就送印了。如果我一時失察,誤上賊船買了這種書,通常很快就扔進垃圾桶了。(送人?轉賣?這不好吧!別讓他繼續危害人間。)
譯者背景:如果這是中譯本,又會有譯者(除非是翻譯軟體翻出來的。我以前有個同學還真的用翻譯軟體來翻譯書呢!不過封面倒是不敢註明「譯者:譯得妙 1.0 beta 版」)。翻譯電腦技術書籍可不是翻譯文學作品,如果譯者沒有技術背景,翻譯出來的句子就很可笑;只有在譯者是個技術專業人員的情況之下,才「有可能」掌握內容的精髓。我說「有可能」,因為即使譯者本身程度不錯,但因為時間倉促,或者因為譯者本身敬業態度不佳,翻譯品質也就無法提昇。關於譯者不佳所翻譯出來的可笑句子,我們見多了,卻仍然無法習以為常。再好的書籍,被不好的譯者經手,仍是不忍卒睹的爛書一本。
出版社:出版社是出版品的最後一道關卡。品質不好的稿件,出版社有責任退搞;排版有任何瑕疵,出版社有必要修正。差勁的出版社甚至會在作者或譯者還沒完全修正稿件之前就「偷偷」送印,連作者或譯者都被蒙在鼓裡。可喜的是,國內的資訊圖書出版社似乎已經開始為品質把關。告訴你們一個實際的例子:歐萊禮的 Enterprise JavaBeans 和 Java 2D 的稿子在半年前就已經譯妥,但在確定品質之前,他們寧可擱著不出版,直到最近我比較有空他們才請我當技術編輯,修飾這兩本書的中文稿件。講到這裡,也請您參考一下 Elliotte Rusty Harold 所寫的「我為什麼喜歡由 O'Reilly 出版我的書」一文。
出版年份:從軟體上市的日期和書出版的日期來判斷書的內容是否夠新, 常常可以讓你篩選書籍的速度加快。在我使用 Java 1.1 的時候,我買 Java 原文書的第一件事是翻開出版年份,如果是 1996 年出版的書,我馬上放回書架。因為 Java 1.1 是在 1997 年初推出的,所以 1996 年出版的書肯定只有涵蓋 Java 1.0。和買葡萄酒不同的是,電腦書籍不會越陳越香,盡可能買新出版的書才是上策。那些過期很久的原文書,一本特價賣 x99,還能賣得掉,這就真的讓我百思不得其解了。
讀書時間:如果你最近是個大忙人,有一堆事情要做,就先別急著買電腦書籍。電腦書籍更新的速度很快,可不比四書五經,可以祖傳父、父傳子, 代代受用不盡。以前我也常衝動之下買了好書回家,然後忙得沒空讀它, 等到空閒下來時,新版本也已經出現了,懊悔不已!如果不急著用的書, 千萬別急著買,不然可能還沒來得及看這本書,新版本又出來了,資訊界不 流行考古的。
書評推薦:好書是不寂寞的。有些人一看到好書,就會基於「呷好倒相報」的心理,廣為推薦。有些原文書的封底或第一頁會有雜誌或期刊的主編或名作家的推薦,這也可以作為「參考」。
Bruce Eckel 的「Thinking in Java」,一打開書就看到近十頁的推薦,聲勢嚇人。不過,書評倒也不見得要盡信,還是有少數爛書會搞出一些睜著眼睛說瞎話的書評或推薦當作促銷手段。
其它書籍:即使經過種種判斷,你發現這是一本適合你的好書,「見獵心喜」是難免的,但是先別急著興沖沖地去付錢,你應該再花一些時間看看是不 是有其它更好的書值得讓你捨棄手上的這本。俗話說:「天外有天,人外有人」,我說:「書外有書」。
我已經分析過買書時的判斷方法,希望能減少你買書時的「天人交戰」。下次買書時,你不妨試試看這些方法。