2007年1月14日 星期日

超越Java(Beyond Java) - 2

書藉基本資料:超越Java(Beyond Java)

我的眼界不廣,心得可能有錯,還請大家指正。ch3、4分析Java的成功原因和隱憂,作者一邊寫自己的看法,一邊引用數位資深Java Progarmmer的訪談做為引證,這本書的宣傳手法真的很高明,如果不是名為Beyond Java,很難吸引一堆Java支持者來看,並扭轉他們的看法,了解這世界上還有很多可能。


Java成功的一大原因是和Open Source族群合作良好,Open Source帶來大量使用者和library
,比方IDE eclipse、Ant、Tomcat。做為下世代的語言霸者,作者認為非政治性是語言的必要性,比方Ruby,反之C#具政治性,會阻礙和Open Source族群的合作。不過就算Java淡出市場,JVM仍會存活許久,JVM已建立良好平台和大量library,適合其它語言使用。

”簡單就是美”、”多個解決方法裡,最簡單的最好”,如果我們相信這樣的原則,那漸漸變笨重的Java,看來不適合開發application / web application,雖然以一個承接C++的角色來說,Java已盡善盡美了,Java確實展現許多優點,但錯誤 前提/架構 下的最佳解法沒有意義。例如Design Pattern,繼Paul Graham後,第二次看到書裡質疑Design Pattern的正確性,這可能是語言本身的缺陷,而使programmer要在實作層面用特定技巧彌補,增加維護的複雜度。我滿喜歡Design Pattern的思維,但一直覺得很難上手,進而懷疑學Design Pattern的方向是否有誤,問題可能在更根本的地方。

Java是很好學的語言,但要用Java真的做番事,要用許多framework和工具,但每個東西的熟悉時間都是以年為單位,我喜歡寫Java,但一直都很排斥學如J2EE、Structs這類framework,天知道真的投入開發時,這些東西是否還是最佳選擇,學習的代價太高了。兩年前還不少補習班廣告三個月十萬元學J2EE,現在卻愈來愈多人質疑它的必要性。

下篇引用一些書上的實例,說明Java language本身的不足。

沒有留言:

張貼留言