2007年1月12日 星期五

超越Java(Beyond Java)

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

目前看到ch2,但是好書就是能讓讀者的靈感源源不絕,不用等到看完再寫想法。前面清楚的說明多學語言的好處,不同場合各有適合的語言,C/C++位在system level,拿來寫application不太恰當,很多時候我們並不在意記憶體用得有無效率,也許開發到極致時會,但用C/C++可能寫不到那個時刻就因過於複雜而結束開發。

粗略的分為system level、application、web application來看,Java適當的扮演一個有別於C/C++,又頗接近它們的好角色,libaray和framework日漸增長,各大廠持續推行,不愁找不到人材。但這些架構太複雜而不適合寫中小規模的application/web application,培訓人才學會寫Java不難,但對framework上手卻是曠日費時。用過scripting language的人可以體會快速開發的喜悅,熱門的Perl/Python/Ruby各有千秋,而《超越Java》是作者自身團隊用Java開發web application,並參用Ruby on Rail開發得來的心得,名為超越Java,介紹Ruby的意味深些。

受限於語言天生的能力,framework再怎麼強化,也會有限度,就像技巧高超的programmer可以用C寫出很OO的程式,但那只是費力成效又差的工作,也許是時候考慮看看不同語言,現在投入Ruby的時機正好,既不會太早而缺乏資源,也不會太晚而失去競爭優勢。別忘了Paul Graham所言,好的語言具有數十倍以上的競爭優勢,對他1995開創的網路公司來說,LISP就是祕密武器。

現今的application/web application,需要的是更高階、更彈性的語言,這正是PHP興起的主因,只是PHP有點髒,沒太大興趣學好PHP。作者相信Java仍是目前的霸者,但五年後就很難說,至少就我們的認知來說,Java對於更高階的開發需求,可能和C/C++對於system level以上的開發需求一樣地不適宜。Java的strong typing和許多保護措施使我相信用它來組合大程式,會愈組愈順,而不像在不穩的地基上蓋歪斜的高塔。雖然有不少實證表示Perl/Python/Ruby也能開發大型專案,但在試用寫較具規模的程式前,還是先保留看法。

相關閱讀:

沒有留言:

張貼留言