去年O'Reilly出版的《Better, Faster, Lighter Java》(中文版《輕快的好Java》)得到Jolt Award技術卓越獎。許多讀者滿心期待該書作者會再接再厲,繼續推出Java的好書,告訴我們更多簡化Java專案的技巧。半年過去了,結果卻是這本「Beyond Java」(中譯本《超越Java》)。透過這本書,作者告訴我們,其實改用Ruby on Rails會比用Java更好。

忠言逆耳,真相傷人
作者和Ruby on Rails(以下簡稱RoR)「暗通款曲」已經有一段時間了,之所以會改用RoR,是因為不管再怎麼用Spring和Hibernate取代EJB,有些事情依然在困擾著他們:重複的事情太多、XML組態(configuration)激增、改變的步調太快。他們一時興起,試了一下RoR,這一試不得了,他們為RoR所帶來的生產力感到震驚,後來乾脆把整個計畫都搬過去用RoR改寫。這個過程中,作者體驗到下面數點:

●改寫的過程很短,只花了四個晚上的時間,就完成了原本用Java花了四個月寫出來的功能。估計生產力的提升約為5到10倍。

●產生的程式碼長度是四分之一;如果把組態檔(configuration file)也算進去的話,只有五分之一。程式碼更短,也就更好維護。

●RoR的版本,執行效能比Java版本更好。不見得所有的例子都會如此,但是對作者的這個例子來說的確是如此。RoR在存取資料上比Hibernate的Object Relational Mapping(ORM)效率更好。

●顧客最關心的是生產力和穩定度,比較不在乎是不是用Java寫的。

技術專家排排坐,一同為Java把脈
這本書訪問相當多赫赫有名的技術專家(簡直是星光大道),包括了Jason Hunter、James Duncan Davidson、Erik Hatcher、Steve Yegge、Ted Neward、Dion Almaer、David Heinemeier、Jim Weirich、Jamis Buck、Justin Gehtland、Glenn Vanderburg。探討的問題五花八門,包括:下一個重要技術是什麼、Java成功的原因、Java的限制、Java的泛型為什麼不好、為何Java難以被取代、Ruby的特色、AOP與Ruby、Ruby需要dependency injection嗎、Ruby on Rails的案例探討、Continuation Server、比較Python/Ruby/Groovy。

適當的忽略是一種美德,過度的忽略是一種墮落
當一個佔有優勢的語言或技術正處於黃金時期時,忽略其他的解決方案反倒可以將心力集中在一個地方,這是一種好事。當一個新的語言來到,且其威力超越你現在使用的技術時,你可以忽略它一陣子,但是如果你沒有精確地判斷技術生命週期的話,你會被淘汰而不自知。忽然間,你的競爭者已經飛奔到你的前面了,生產力更高,品質更好,更多顧客。

你一定聽過這個故事。如果你在熱水中放青蛙,牠會直接跳出來,但是如果你從冷水慢慢地加溫,青蛙會不知不覺地被慢慢煮熟了。作者希望技術人員能隨時注意遭週的水溫,不要毫無警覺。作者認為溫度正在上升,所以已經開始做準備了。

何不提前做好準備,迎接下一個Big Thing
對於許多Web應用來說,Java是個礙手礙腳的東西。將Java排除不用,可以把程式碼減少到只剩四分之一,把XML減少到只剩十分之一,達到令人驚訝的生產力,以及不錯的效能。在某些問題的解決上,Java已經不再具有高生產力了,我們應該適當地改用一些其他的技術。沒有任何語言和技術可以永遠領先不墜,Java統治的時代將會結束,這不是「會不會」的問題,而是「什麼時候」的問題。如果你不希望在一覺醒來之後忽然發現自己已經被淘汰了,那麼你需要讀這本書。

Beyond Java
Bruce Tate著
O'Reilly出版
售價:24.95美元
推薦:Amazon三顆半星

《作者簡介》蔡學鏞
清華大學資訊工程碩士,寰震科技技術顧問。曾任華碩集團軟體工程師、元智大學資訊系講師、美商歐萊禮出版社顧問、台灣微軟特約專欄作家。

蔡學鏞曾參與設計清華大學 Java VOD 系統,該系統並獲得第一屆 Java Cup 比賽校園組冠軍。蔡先生著譯有數本 Java 書籍,並在台灣和中國的雜誌開闢技術專欄。

熱門新聞

Advertisement