■劉基誠 雷厲風(fēng)
曾幾何時(shí),國外的Java圖書(shū)出現過(guò)三大系列鼎足而立的態(tài)勢。這就是Pearson集團旗下的Prentice Hall和Addison Wesley與Sun公司合作推出的Sun Press Java系列,Wrox公司的Java系列和O‘Reilly公司的Java系列。比較而言,前者雖然來(lái)自技術(shù)本原,又匯集原來(lái)兩個(gè)系列的實(shí)力,權威性毋庸置疑,但是總體
上技術(shù)文檔氣息比較重,各書(shū)之間就寫(xiě)作水平和易讀性來(lái)看很不均衡,既有《Java核心技術(shù)》、《Effective Java》、《Java編程語(yǔ)言》這樣的超級經(jīng)典,又有大量平平之作。后者的規劃最為嚴密,叢書(shū)的平均水平也最整齊,經(jīng)過(guò)多年積累,已經(jīng)出版了70多種,幾乎囊括了Java技術(shù)的方方面面:語(yǔ)言學(xué)習(以《Head First Java》和《Java in a Nutshell》為代表)、技術(shù)專(zhuān)題(以《Java網(wǎng)絡(luò )編程》、《Java與XML》、《Java Swing》、《Java Server Pages》為代表)、工具(《Eclipse》、《Ant權威指南》為代表)、企業(yè)級開(kāi)發(fā)(以《Enterprise JavaBeans》為代表)和實(shí)例(《Java經(jīng)典實(shí)例》為代表)。而Wrox則是盛極后衰的典型,2001年前后,印著(zhù)作者頭像大多名為“Beginning”和“Professional”的紅皮書(shū)與O Reilly一一針?shù)h相對,不但出手奇快,而且內容涵蓋全面扎實(shí),博得好評一片,聲勢一度壓過(guò)了后者,這其中以Ivar Horton的《Java入門(mén)經(jīng)典》、《J2EE高級編程》、《Expert One-on-One J2EE Design and Development》為代表??蛇z憾的是,此后不久Wrox就由于整個(gè)集團在.NET和Java乃至圖形圖像、網(wǎng)站設計等等多面作戰,戰線(xiàn)過(guò)長(cháng),管理又失控,終于以被收購而告終。其品牌和大部分圖書(shū)歸入John Wiley所有,也就是說(shuō),現在新的紅皮書(shū)都是這家有近200年歷史的公司旗下出品。另外有部分圖書(shū)則被開(kāi)發(fā)類(lèi)圖書(shū)的新銳Apress購買(mǎi),改用該出版社的封面。兩家目前同時(shí)出版“Beginning”冠名的圖書(shū),但是原“Professional”系列Apress改用“Pro”以示區分。
這三大主流系列之外,還有小型的Manning出版社不可不提。Manning本來(lái)也覆蓋各種開(kāi)發(fā)語(yǔ)言和工具,甚至包括其他出版社很少涉及的PowerBuilder,但是2003年后,幾乎完全轉向了Java平臺,與Java開(kāi)發(fā)社區的結合度大概是最緊的———theServerSide網(wǎng)站上就頻繁出現該出版社的圖書(shū)預覽評論。為了避免與大中型競爭對手正面沖突,Manning選擇了更加專(zhuān)業(yè)和前沿的小眾領(lǐng)域,并精益求精,取得了極佳的口碑。在Struts、Hibernate、JUnit、Ant等方面都有最具競爭力的圖書(shū)。
雖然本文已經(jīng)進(jìn)入最后部分,但是從所涉及的Java領(lǐng)域來(lái)看,只能說(shuō)是剛剛開(kāi)了一個(gè)頭———僅僅評完了語(yǔ)言層面的圖書(shū)而已。不難發(fā)現,目前國內市場(chǎng)上值得關(guān)注的引進(jìn)圖書(shū),幾乎都不出以上四家,當然,近來(lái)國產(chǎn)圖書(shū)也開(kāi)始有了一些佳作。接下來(lái),讓我們一起盡覽Java圖書(shū)大觀(guān)園秀色。 工具書(shū)
Java是一種簡(jiǎn)單但是又復雜的語(yǔ)言。說(shuō)它簡(jiǎn)單,是指相對C 等前輩而言,許多功能語(yǔ)言能夠直接提供支持,大大減少了開(kāi)發(fā)工作量;說(shuō)它復雜,是指Java語(yǔ)言和平臺提供的功能極為豐富,短時(shí)間很難掌握。時(shí)至今日,發(fā)展到5.0的Java,光是API的數量就已經(jīng)是一個(gè)驚人的數字,就更不用說(shuō)其中細節了。Sun公司的API文檔當然幫得上忙,但是對于經(jīng)驗不夠以及英文不好的人,無(wú)法完全解決問(wèn)題。這種情況下,可供查閱的工具書(shū)就非常必要了。
JAVA技術(shù)手冊(第4版)(影印版)
David Flanagan/著(zhù)
清華大學(xué)出版社 定價(jià):99元
說(shuō)起Java工具書(shū),首屈一指的當然是Flanagan的傳奇大作了。此書(shū)與《Unix技術(shù)手冊》、《Linux技術(shù)手冊》并稱(chēng)O‘Reilly Nutshell(堅果)系列的三大手冊,是該公司早期得以稱(chēng)雄技術(shù)出版領(lǐng)域的大功臣,與Java的版本保持同步。言簡(jiǎn)意賅的敘述和豐富的索引是其招牌特征。此書(shū)中沒(méi)有涉及AWT、Swing以及J2EE的內容,系列中另有兩本書(shū)專(zhuān)門(mén)講述。需要警告大家的是,第4版是此書(shū)最不好的一個(gè)版本,最明顯的缺點(diǎn)就是書(shū)中切口處沒(méi)有印上類(lèi)似于字典的曾經(jīng)是Nutshell手冊特色的分隔標簽。每章開(kāi)始處的包關(guān)系圖也沒(méi)了。國內中國電力出版社還出版過(guò)此書(shū)第三版的中文版,但是翻譯頗受詬病。國外此書(shū)的第五版已經(jīng)出版,又迅速攀升到暢銷(xiāo)榜前列。
JAVA Developers ALMANAC 中文版:實(shí)例與快速參考(第1.4版 第1卷)
Patrick Chan/著(zhù) 王衛星等/譯
機械工業(yè)出版社 定價(jià):99元
作者作為Java創(chuàng )始小組的主力成員,曾是負責可移植性和Windows平臺的架構師,也是AWT的設計者之一。顯然,在版式設計方面,他也頗有天賦。本書(shū)在形式和體例設計上花費的心思比《Java技術(shù)手冊》可以說(shuō)是有過(guò)之而無(wú)不及,因此多年來(lái)極受Java程序員青睞。其結果,是一本非常實(shí)用參考書(shū),除按字母逐一講解API之外,還有極為豐富的實(shí)例,實(shí)例有網(wǎng)絡(luò )版,查詢(xún)更加方便。本書(shū)有些網(wǎng)上書(shū)店有特價(jià)銷(xiāo)售,30元左右,可謂大大的物超所值。此書(shū)本還有第2卷,討論applet和Swing,但是沒(méi)有中文版。清華大學(xué)出版社影印了兩卷,可以參考。 專(zhuān) 題
以下我們真正超越基本語(yǔ)言的層面,進(jìn)入更廣闊的天地。迎面而來(lái)的是開(kāi)發(fā)客戶(hù)端程序必不可少的GUI技術(shù),也就是Swing。由于Java在桌面方面的開(kāi)發(fā)還沒(méi)有成為主流,我們在這里只是淺嘗輒止。
Java Swing(第二版)
Marc Loy,Robert Eckstein等/著(zhù) R&W組/譯
清華大學(xué)出版社 定價(jià):128.00元
Swing方面的書(shū)目前只能推薦這一本了。很抱歉,書(shū)很厚,價(jià)錢(qián)也是個(gè)問(wèn)題。但是權威性還是有口碑的,翻譯也不錯。而如此篇幅卻仍然會(huì )漏掉一些重要內容,Swing的瑣細可以想見(jiàn)了。比較多被人提到的明顯遺漏包括AWT事件模型和一些布局管理器。
國外共有三本比較重要的Swing圖書(shū),除本書(shū)外,還有Manning所出的一本,也是近900頁(yè)的巨著(zhù),在我印象中似乎沒(méi)有中文版本。SunPressJava系列中也有一本《JFCSWING標準教材(第二版)》,略薄一些,有中文譯本(電子工業(yè)出版社),但是翻譯不能令人滿(mǎn)意,就不予推薦了。
接下來(lái)我們進(jìn)入企業(yè)級Java的技術(shù)迷宮。這是目前炙手可熱的領(lǐng)域。然而奇怪得很,如此復雜、內涵豐富、大有文章可做的寶庫,國內值得推薦圖書(shū)的數量和質(zhì)量卻難以與之相符。
J2EE綜述: __________________________________________________________________________
The J2EE Tutorial中文版
Stephanie Bodoff等/著(zhù) 顏承等/譯
中國鐵道出版社 定價(jià):47元
網(wǎng)站上常常有讀者詢(xún)問(wèn)J2EE該如何入門(mén),從哪一本書(shū)入門(mén)的問(wèn)題,令人遺憾的是,目前這個(gè)問(wèn)題并沒(méi)有直截了當的答案。因為在J2EE 1.5(估計Sun會(huì )統一為5.0)尤其是EJB3.0定案之前,J2EE的整個(gè)發(fā)展方向都并不明確。至少目前,放棄EJB的重量級方案而選用Hibernate、Spring之類(lèi)的輕型框架正在成為熱點(diǎn)。
本書(shū)的好處在于,它直接來(lái)自Sun公司,是對J2EE最四平八穩的介紹。書(shū)中的主干還是對EJB的介紹,對其他方面包括Web層技術(shù)的介紹都比較簡(jiǎn)略。由于篇幅所限,通過(guò)本書(shū),你只能對J2EE有一個(gè)大概的初步印象,真正能夠達到實(shí)戰水平,道路還很漫長(cháng)。順帶提及,本書(shū)的新版本(針對1.4)《J2EE1.4標準教材》已經(jīng)由電子工業(yè)出版社出版,其中增加的部分大多與XML、Web服務(wù)和JSP方面的更新以及JSF相關(guān),這正是J2EE1.3到1.4的主要更新。不過(guò)新版本已經(jīng)厚達1000頁(yè)以上,定價(jià)100元,就性?xún)r(jià)比而言似乎不是那么盡如人愿。
Web層: __________________________________________________________________________
Servlet與JSP核心編程,卷1(第2版)
Marty Hall,Larry Brown/著(zhù) 趙學(xué)良/譯
清華大學(xué)出版社 定價(jià):59元
按照一般的學(xué)習地圖,從語(yǔ)言到企業(yè)級Java最好的路徑就是JSP和Servlet。事實(shí)上,如果你沒(méi)有機會(huì )參與大型軟件系統的開(kāi)發(fā),J2EE中最常用也最實(shí)用的也就是Web層技術(shù),開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站等等應用,即使中小企業(yè)也都用得上。歷史上,Servlet和JSP大多是分別講述的,O‘Reilly和Wrox等等出版社都是如此。然而,這兩項技術(shù)不僅本質(zhì)相同(最終都要轉換為Servlet,再進(jìn)行編譯),而且在應用中關(guān)系極為密切。因此,MartyHall將兩者結合講解看似獨辟蹊徑,實(shí)則更加貼近開(kāi)發(fā)實(shí)踐。從我個(gè)人的經(jīng)驗來(lái)看,這樣做是絕對正確的,也正是這樣的處理,使本書(shū)得以鶴立雞群。
本書(shū)原著(zhù)和譯筆都非常流暢,講述技術(shù)細節體貼周到。作者在闡釋概念方面有獨到之處,常常三言?xún)烧Z(yǔ)就能說(shuō)清其他書(shū)中長(cháng)篇大論也說(shuō)不清的東西。書(shū)中對Servlet和JSP兩項技術(shù)區別和如何集成的敘述就極精彩。Amazon上本書(shū)的讀者評論就達到200多條,受歡迎程度可見(jiàn)一斑。
本書(shū)的第2卷尚未出版,從內容上看應該是在機械工業(yè)出版社已經(jīng)出版的《Servlet與JSP權威指南》(即《More Servlet sand JSP》中文版)一書(shū)基礎上的更新和擴充,將涵蓋Struts、JSTL、JSF等內容。
JSP設計(第三版)
Hans Bergsten/著(zhù) 林琪 朱濤江/譯
中國電力出版社 定價(jià):79元
由于不斷保持更新,在單獨講JSP的引進(jìn)圖書(shū)中本書(shū)已經(jīng)穩坐頭把交椅。值得稱(chēng)道的是,這一版的翻譯工作有較大提高。作者的專(zhuān)家身份(JSP和Servlet規范專(zhuān)家組成員)自然保證了內容的權威性。為了覆蓋更廣的讀者群,尤其是網(wǎng)頁(yè)設計人員,書(shū)中不少內容起點(diǎn)很低,比如在講解中可能很詳細地解釋一些編程基礎知識。這種處理顯然是一把雙刃劍,有經(jīng)驗的程序員對此很容易不耐煩,事實(shí)上網(wǎng)上對此書(shū)不利的評價(jià)大多也是由此而引起的。在我看來(lái),想讓一本JSP技術(shù)書(shū)籍既滿(mǎn)足網(wǎng)頁(yè)設計人員,又滿(mǎn)足軟件開(kāi)發(fā)人員幾乎是不可能完成的任務(wù),還是“分而治之”符合計算機科學(xué)原理。
精通Struts:基于MVC的Java Web設計與開(kāi)發(fā)
孫衛琴/著(zhù)
電子工業(yè)出版社 定價(jià):49元
Tomcat與Java Web開(kāi)發(fā)技術(shù)詳解
孫衛琴 李洪成/著(zhù)
電子工業(yè)出版社 定價(jià):45元
這兩本書(shū)是2004年國內原創(chuàng )圖書(shū)中的驚喜。以如此專(zhuān)業(yè)的圖書(shū)而獲得一致好評和空前的市場(chǎng)成功(《精通Struts》一書(shū)2004年8月出版,到2005年2月已經(jīng)是第5次印刷,而且仍然印刷了5000冊,出版界的朋友告訴我,由此判斷此書(shū)銷(xiāo)售應該已經(jīng)超過(guò)25000冊,在今日的市場(chǎng)中如此銷(xiāo)量,確屬驚人),其含義是非常豐富的:一方面說(shuō)明技術(shù)圖書(shū)市場(chǎng)其實(shí)并沒(méi)有大多數人眼中的那么悲觀(guān),一方面說(shuō)明Java技術(shù)目前在國內的熱度確實(shí)非常。
關(guān)于這兩本書(shū),一位讀者的評價(jià)非常中肯:“優(yōu)點(diǎn)并不在于它提出了多少有突破性、發(fā)明性的思想,但它作為技術(shù)傳播工具,能夠把技術(shù)分析得非常清晰細致,舉的各種Web應用實(shí)例循序漸進(jìn),恰到好處。”也許恰到好處,貼切符合國人需要,才是原創(chuàng )圖書(shū)成功的必由之路。 EJB層:__________________________________________________________________________
精通EJB(第二版)
Ed Roman/著(zhù) 劉曉華/譯
電子工業(yè)出版社 定價(jià):59元
毫無(wú)疑問(wèn),按Sun公司的本意,EJB應該是J2EE架構中真正的核心。然而,令人尷尬的是,國內已經(jīng)出版的講述E鄄JB的圖書(shū)中,居然挑不出一本完全合格的教程類(lèi)圖書(shū)可以推薦。本書(shū)原版非常有名,問(wèn)題又出在翻譯上:后半部分許多地方質(zhì)量差得驚人。好在原作者公開(kāi)了原版電子文件,讀者能夠一邊看,一邊改,一邊罵了。
此書(shū)手稿中的一部分最后演變成了另一本書(shū)《EJB設計模式》,已由機械工業(yè)出版社出版,屬于經(jīng)驗總結性的讀物,應該配合閱讀。
經(jīng)驗T深入T模式:
__________________________________________________________________________
J2EE設計開(kāi)發(fā)編程指南
Rod Johnson/著(zhù) 魏海萍/譯
電子工業(yè)出版社 定價(jià):64元
如果J2EE方面只允許推薦一本書(shū)的話(huà),此書(shū)的英文版會(huì )是很多人的選擇。Johnson所提出的EJB并不是萬(wàn)靈丹藥,以及對何時(shí)使用EJB,不使用EJB時(shí)的替代方案等等,在當時(shí)可以說(shuō)是振聾發(fā)聵,驚醒了許多人。從書(shū)中發(fā)展出來(lái)的Spring框架如今已經(jīng)成為J2EE輕量級運動(dòng)的重要一員。讓人痛心的是,這本書(shū)中文版翻譯得慘不忍睹。就憑將Johnson著(zhù)作無(wú)情糟蹋掉這一點(diǎn),這位譯者已經(jīng)得罪了整個(gè)J2EE社區。電子工業(yè)出版社在Java技術(shù)方面,尤其是J2EE方面出書(shū)很多,但是在某些方面(比如說(shuō)翻譯)常常很難令人滿(mǎn)意,也許應該好好總結一下了。至少,本書(shū)的價(jià)值到今天仍然不減,Amazon上的排名保持在3000左右,仍然是最暢銷(xiāo)的Java類(lèi)圖書(shū)之一,為什么不考慮一下重新翻譯,利人利己呢?
J2EE核心模式
Deepak Alur等/著(zhù) 牛志奇等/譯
機械工業(yè)出版社 定價(jià):35元
J2EE領(lǐng)域本書(shū)與上一本齊名,匯集了Sun公司和客戶(hù)大量經(jīng)驗,是J2EE架構師必讀書(shū)。糟糕的是,本書(shū)的翻譯也是問(wèn)題多多,只能說(shuō)比上一本稍好一些??茖W(xué)出版社出版了影印版,可以參考。
不過(guò)也有好消息,此書(shū)已經(jīng)有了第二版,而且中文版由長(cháng)期擔任本報特約記者的青年才俊擔綱翻譯,不日就將由機械工業(yè)出版社出版。想來(lái)這次該有滿(mǎn)意的結果。 其 他
最后是幾本沒(méi)有歸入前面的類(lèi)別,然而我本人認為比較重要的好書(shū)。
JAVA與模式
閻宏
電子工業(yè)出版社 定價(jià):88元
本書(shū)顯然也創(chuàng )造了一個(gè)奇跡,高定價(jià)仍然暢銷(xiāo)并且常銷(xiāo),為原創(chuàng )圖書(shū)樹(shù)立了很好的榜樣。講述模式的好書(shū)已經(jīng)很多,但是專(zhuān)門(mén)結合Java講述的,目前應該還是以此本最佳。
JAVA實(shí)用系統開(kāi)發(fā)指南
彭晨陽(yáng)
機械工業(yè)出版社 定價(jià):42元
本書(shū)是一本實(shí)例驅動(dòng)的教程,雖然有些設計和代碼不夠成熟,但以原創(chuàng )標準衡量,已經(jīng)難能可貴。書(shū)中比較詳細地介紹了設計思路,并兼顧地介紹相關(guān)模式和技術(shù),是一種很好的寫(xiě)作模式。
Java與XML(第二版)
Brett McLaugblin/著(zhù) 劉基誠/譯
中國電力出版社 定價(jià):59元
舉賢不避親。此書(shū)正是本人所譯。由于J2EE1.4中增加了大量處理XML以及Web服務(wù)的內容,此書(shū)的重要性大大提升。翻譯中在語(yǔ)言的平順上下了不少功夫,總體還算滿(mǎn)意。不過(guò)編輯校對上的小失誤較多,有一些遺憾。
我們的Java圖書(shū)之旅已經(jīng)到站。雖然已經(jīng)盡力,但是限于篇幅、眼力和閱歷,肯定無(wú)法反映全貌,批評與意見(jiàn),請給我們發(fā)郵件:
jch-liu@sohu.com。