書評:Java的盛宴(中) – JAVA編程語言程序開發技術文章

本文的上半部分發表以後,引起瞭一些讀者的興趣。有讀者對我所說的“許多普通讀者面對書海,仍然無所適從”大有同感,並且詢問到具體如何選書買書的問題。其實,同樣的問題在各種場合包括論壇、技術講座上,我曾經無數次被問到,所以在繼續介紹Java好書之前,我先花一點篇 幅說明一下。

關於選書的經驗之談

以我個人的經驗來看,選中適用圖書的關鍵,在於“知己知彼”。知己,當然就是對自己有正確的定位。拿Java來說,你在購買第一本Java圖書之前,需要確定自己處於什麼層次。如果編程經驗較少,對基本的程序設計語言概念都知之甚少的話,《Java核心技術》或者《Java編程思想》就不太合適瞭,這一層次的巨著都在書的最前面明確說明讀者需要“一定的編程經驗”,而《Java語言導學》、《21天學通Java2》可能是你的正確選擇。如果你學習過其他程序設計語言,瞭解“關鍵字”、“函數”、“數據類型”等等基本概念,但是對面向對象完全是門外漢,那麼《Java編程思想》是一個很好的起點,它是典型的對象優先(ObjectFirst)教學法的代表。如果你已經是有一定經驗的C/C 程序員,《Ja鄄va核心技術》顯然最適合你,因為書中有許多專門針對C/C 程序員的提示,而且循著“環境·語言結構·面向對象”順序講解。其餘類別的圖書也可以按照這種思路選擇。

此外,我有一個特別的建議:如果你的英文不錯,建議入門的時候以英文版為主,輔以一本中文基礎教材,尤其是面向對象的概念方面,英文直接閱讀理解,往往比中文更加容易。因為面向對象概念其實涉及語言和知識表示中較深層次,恰恰是不同語言區別較大,不容易移譯的地方。加之國內早期翻譯不夠審慎,而且統一性不足,使用中文術語體系理解,有時候反而事倍功半。就以“面向對象”一詞來說,新手對此是很難望文而生義的,這是典型的不良翻譯范例。曾經有一個比較誇張的笑話,說有人將《面向對象方法》當成談戀愛技巧書買瞭回去,其實正說中瞭此譯的弊病。相對而言,海外譯為“物件導向”,要更接近原意。這裡的對象=object,就是中文的物體、事物乃至事情,所以《Ja鄄va編程思想》有“萬事萬物皆對象”(ev鄄erthingisanobject)的說法。而這裡的面向=oriented,其實是“以……為重點/中心”、“(此方法/領域中)……很重要”的意思。所以面向對象=object oriented的英文原意,其實是“以事物表示為中心”之義。時至今日,專業人士當然不再可能有出上述笑話的可能,大傢反而已經習慣這一術語體系,並且母語化瞭。但是學習面向對象技術的新手呢,他們仍然免不瞭在“類”、“類型”、“接口”、“實例”、“成員”、“方法”、“實現”、“協定”、“字段”、“屬性”、“服務”、“消息”……構成的語詞森林中篳路藍縷。從這一點來說,國內高等院校開始雙語教學,是有其益處的。

正確選書的第二個重要環節就是知彼瞭,也即盡量多地瞭解相關圖書信息。遺憾的是,目前國內客觀而且有內容的書評類資料非常缺乏,出版社提供的信息又往往公信力不夠。本專欄的目的之一,就是嘗試對此情況有所補益。當然,普通讀者的獲知手段並非沒有。第一手的信息,包括出版社、作譯者的情況,出版前言、作譯序、圖書外裝幀的介紹文字和設計水平都能透露制作者在此書上花費的功夫幾何。前言和序純屬八股文字的圖書,作譯者用心程度就非常值得懷疑。此外,國內各主要專業網上書店(china pub.com,第二書店,華儲等等)都有類似Amazon的自由書評以及各種銷售排行榜(不少實體書店也會提供銷售排行榜),雖然成色遠較Amazon為遜色,但還是很值得參考的,畢竟這些都反映著客觀因素。尤其是china pub上外版書有直接到Amazon該書原文版的鏈接,可以很方便地瞭解原版的評價,然後考慮翻譯質量,即可八九不離十瞭。本報定期刊登的各出版社“銷售熱點”、“書店經理薦書榜”等等欄目也是圖書情況的重要參考。至少,你可以瞭解到某種、某類書市場上哪些銷售良好,哪些是出版社的重點產品

老實說,目前選書買書的確不是易事。撰寫本文過程中,我所查詢到的Java圖書不下六七百種,但是真正值得評論的卻在30種以內。看來,國內出版界離正確的方向還有不小的差距。

繼續我們的Java圖書盛宴。在綜合和入門層次圖書之後,我們已經更上一層樓,可以看到更廣闊的Java世界圖景。首先進入我們視野的是語言編程經驗和深入層次圖書,面向中級讀者。正如著名程序設計專傢Sun公司傑出工程師GuySteele所說:“對於一門程序設計語言,你需要瞭解三樣東西:一是語言核心,即語法結構;二是語言的詞匯,包括所提供的數據結構和功能設施;三是語言的習慣用法。”一般的程序設計圖書隻會涉及到前面兩點,而要討論第三點,往往需要作者有大量的代碼開發和閱讀經驗,難度極大,所以,這一層次目前國內市場上所見圖書,基本上都是國外翻譯作品。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *