|
本文的上半部分發(fā)表以后,引起了一些讀者的興趣。有讀者對我所說的“許多普通讀者面對書海,仍然無所適從”大有同感,并且詢問到具體如何選書買書的問題。其實,同樣的問題在各種場合包括論壇、技術(shù)講座上,我曾經(jīng)無數(shù)次被問到,所以在繼續(xù)介紹Java好書之前,我先花一點篇
幅說明一下。
關(guān)于選書的經(jīng)驗之談
以我個人的經(jīng)驗來看,選中適用圖書的關(guān)鍵,在于“知己知彼”。知己,當(dāng)然就是對自己有正確的定位。拿Java來說,你在購買第一本Java圖書之前,需要確定自己處于什么層次。如果編程經(jīng)驗較少,對基本的程序設(shè)計語言概念都知之甚少的話,《Java核心技術(shù)》或者《Java編程思想》就不太合適了,這一層次的巨著都在書的最前面明確說明讀者需要“一定的編程經(jīng)驗”,而《Java語言導(dǎo)學(xué)》、《21天學(xué)通Java2》可能是你的正確選擇。如果你學(xué)習(xí)過其他程序設(shè)計語言,了解“關(guān)鍵字”、“函數(shù)”、“數(shù)據(jù)類型”等等基本概念,但是對面向?qū)ο笸耆情T外漢,那么《Java編程思想》是一個很好的起點,它是典型的對象優(yōu)先(ObjectFirst)教學(xué)法的代表。如果你已經(jīng)是有一定經(jīng)驗的C/C 程序員,《Ja鄄va核心技術(shù)》顯然最適合你,因為書中有許多專門針對C/C 程序員的提示,而且循著“環(huán)境·語言結(jié)構(gòu)·面向?qū)ο?#8221;順序講解。其余類別的圖書也可以按照這種思路選擇。
此外,我有一個特別的建議:如果你的英文不錯,建議入門的時候以英文版為主,輔以一本中文基礎(chǔ)教材,尤其是面向?qū)ο蟮母拍罘矫?,英文直接閱讀理解,往往比中文更加容易。因為面向?qū)ο蟾拍钇鋵嵣婕罢Z言和知識表示中較深層次,恰恰是不同語言區(qū)別較大,不容易移譯的地方。加之國內(nèi)早期翻譯不夠?qū)徤?,而且統(tǒng)一性不足,使用中文術(shù)語體系理解,有時候反而事倍功半。就以“面向?qū)ο?#8221;一詞來說,新手對此是很難望文而生義的,這是典型的不良翻譯范例。曾經(jīng)有一個比較夸張的笑話,說有人將《面向?qū)ο蠓椒ā樊?dāng)成談戀愛技巧書買了回去,其實正說中了此譯的弊病。相對而言,海外譯為“物件導(dǎo)向”,要更接近原意。這里的對象=object,就是中文的物體、事物乃至事情,所以《Java編程思想》有“萬事萬物皆對象”(ev鄄erthingisanobject)的說法。而這里的面向=oriented,其實是“以……為重點/中心”、“(此方法/領(lǐng)域中)……很重要”的意思。所以面向?qū)ο螅給bject oriented的英文原意,其實是“以事物表示為中心”之義。時至今日,專業(yè)人士當(dāng)然不再可能有出上述笑話的可能,大家反而已經(jīng)習(xí)慣這一術(shù)語體系,并且母語化了。但是學(xué)習(xí)面向?qū)ο蠹夹g(shù)的新手呢,他們?nèi)匀幻獠涣嗽?#8220;類”、“類型”、“接口”、“實例”、“成員”、“方法”、“實現(xiàn)”、“協(xié)定”、“字段”、“屬性”、“服務(wù)”、“消息”……構(gòu)成的語詞森林中篳路藍(lán)縷。從這一點來說,國內(nèi)高等院校開始雙語教學(xué),是有其益處的。
正確選書的第二個重要環(huán)節(jié)就是知彼了,也即盡量多地了解相關(guān)圖書信息。遺憾的是,目前國內(nèi)客觀而且有內(nèi)容的書評類資料非常缺乏,出版社提供的信息又往往公信力不夠。本專欄的目的之一,就是嘗試對此情況有所補益。當(dāng)然,普通讀者的獲知手段并非沒有。第一手的信息,包括出版社、作譯者的情況,出版前言、作譯序、圖書外裝幀的介紹文字和設(shè)計水平都能透露制作者在此書上花費的功夫幾何。前言和序純屬八股文字的圖書,作譯者用心程度就非常值得懷疑。此外,國內(nèi)各主要專業(yè)網(wǎng)上書店(china pub.com,第二書店,華儲等等)都有類似Amazon的自由書評以及各種銷售排行榜(不少實體書店也會提供銷售排行榜),雖然成色遠(yuǎn)較Amazon為遜色,但還是很值得參考的,畢竟這些都反映著客觀因素。尤其是china pub上外版書有直接到Amazon該書原文版的鏈接,可以很方便地了解原版的評價,然后考慮翻譯質(zhì)量,即可八九不離十了。本報定期刊登的各出版社“銷售熱點”、“書店經(jīng)理薦書榜”等等欄目也是圖書情況的重要參考。至少,你可以了解到某種、某類書市場上哪些銷售良好,哪些是出版社的重點產(chǎn)品。
老實說,目前選書買書的確不是易事。撰寫本文過程中,我所查詢到的Java圖書不下六七百種,但是真正值得評論的卻在30種以內(nèi)??磥?,國內(nèi)出版界離正確的方向還有不小的差距。
繼續(xù)我們的Java圖書盛宴。在綜合和入門層次圖書之后,我們已經(jīng)更上一層樓,可以看到更廣闊的Java世界圖景。首先進入我們視野的是語言編程經(jīng)驗和深入層次圖書,面向中級讀者。正如著名程序設(shè)計專家Sun公司杰出工程師GuySteele所說:“對于一門程序設(shè)計語言,你需要了解三樣?xùn)|西:一是語言核心,即語法結(jié)構(gòu);二是語言的詞匯,包括所提供的數(shù)據(jù)結(jié)構(gòu)和功能設(shè)施;三是語言的習(xí)慣用法。”一般的程序設(shè)計圖書只會涉及到前面兩點,而要討論第三點,往往需要作者有大量的代碼開發(fā)和閱讀經(jīng)驗,難度極大,所以,這一層次目前國內(nèi)市場上所見圖書,基本上都是國外翻譯作品。
|