Java過時了嗎?聽起來有些人會感到驚訝和不屑,但是網(wǎng)上關(guān)于Java過時爭論卻一直沒有停止過,是誰在高談Java過時論,難道Java真的走到了生命的結(jié)點了嗎?
RoR挑戰(zhàn)Java Web領(lǐng)域
Java過時論的傳言由來以久,隨便在Google上一搜就能搜到191,000條數(shù)據(jù),這些數(shù)據(jù)足可以說明很多人在關(guān)心Java技術(shù)的過時與否,在眾帖子最顯眼的便是崇尚敏捷WEB開發(fā)的Ribbin大師,Ribbin曾經(jīng)說過“四年以前,當(dāng)我開始鼓吹Hibernate,抨擊EJB的時候,遭到的是群起而攻之的場面,但是不到一年之后,Hibernate已然得到了普及和大多數(shù)Java開發(fā)人員的認可;
在三年以前,當(dāng)我開始贊譽Spring的時候,Spring還面臨著EJB3的陰影,以及EJB2對其不登大雅之堂的指責(zé),然而不到一年的時間,Spring已經(jīng)成為絕大多數(shù)Java開發(fā)人員的首選;
在兩年以前,我極力希望宣傳WebWebWork,唱衰JSF,時至今日,WebWebWork以Struts2.0的身份容登大雅之堂,而JSF還在靠廠商死挺著;而當(dāng)一年之前我開始采用RoR開發(fā)JavaEye的時候,RoR的置疑之聲還甚囂塵上,但當(dāng)我在今年初預(yù)言07年下半年RoR在國內(nèi)會被廣泛接受的時候,很多人已經(jīng)笑不出來了;”
Ribbin多年來一直是Java的企業(yè)咨詢專家,后期投入到RoR的開發(fā)中,做為大師我想他的這些預(yù)言有絕對的權(quán)威性,RoR在WEB領(lǐng)域的表現(xiàn)是勿庸置疑的,而Java在Web領(lǐng)域這么多年,開源框架的混亂,學(xué)習(xí)的曲線坡度增加,嚇退了很多開發(fā)者,轉(zhuǎn)而投向其它開發(fā)語言,Ruby號稱目前主流的WEB開發(fā)技術(shù)當(dāng)中開發(fā)速度最快的開發(fā)工具,可以達到j(luò)2ee框架開發(fā)速度的5-10倍,單從這數(shù)字上可以看出,RoR在Web領(lǐng)域進步開始超越Java等其它眾多開發(fā)語言。
數(shù)字終歸是數(shù)字,我們還要具體情況具體分析,就目前的情況來說,Ruby還挑戰(zhàn)不了Java王者的地位,從可以預(yù)見將來Ruby也不會取代Java的地位。這是因為: 促成Java成為當(dāng)今天主流開發(fā)平臺,是有很多因素綜合作用導(dǎo)致的,而且也有一個歷史機遇的問題。當(dāng)應(yīng)用軟件開發(fā)方式從C/S轉(zhuǎn)向B/S的時候,Java抓住了歷史機遇,造就了目前全球多數(shù)應(yīng)用軟件廠商都基于Java開發(fā)軟件的事實,Java在整個全球的商業(yè)價值。并且從從Java自身的語法角度來說,也非常適合目前軟件外包產(chǎn)業(yè)的大規(guī)模分工協(xié)作。此外Java并沒有固步自封,在開源社區(qū)和商業(yè)廠商雙重強力推動下,Java自身仍然在快速的進步,生命力很頑強。
Ruby目前只是在Web開發(fā)領(lǐng)域?qū)Ρ菾ava有很強的開發(fā)效率優(yōu)勢,但并沒有Java那么齊全的產(chǎn)品線,從基礎(chǔ)軟件到Web應(yīng)用軟件,從桌面到嵌入式開發(fā),Java無處不在。
Java是主流的工業(yè)級別的編程語言這是一個即定的事實,就單個程序員個體的編程效率來說,遠不如Ruby,但是很多軟件公司,特別是軟件外包往往是幾十人,上百人大規(guī)模團隊協(xié)作開發(fā),在這種情況下,個體的編程效率并不重要,重要的是團隊之間協(xié)作和模塊獨立分割以及組合,Java能夠很好的滿足這種軟件開發(fā)模式。但是Ruby顯然不適合這種軟件開發(fā)模式,Ruby更適合小規(guī)模團隊的開發(fā)(一般少于10人),采用敏捷開發(fā)方式,高效率的開發(fā)軟件。
所以各位對Java有興趣的開發(fā)人員用不著恐慌,語言的多元化發(fā)展給我們程序員提供了更多的開發(fā)選擇,Java多年來的基礎(chǔ)還在,到目前為止還沒有一種超越Java的開發(fā)語言出現(xiàn),Java過時的說法只是一種推測,一種想法而已。
Ajax走出PC時代Java移動領(lǐng)域受沖擊
Java過時論源于WEB領(lǐng)域的受到?jīng)_擊,但是Java在移動領(lǐng)域多年“太平天國”的局面也被打破,2007年月初諾基亞論壇副總裁Lee Epting證實,世界上最大的手機生產(chǎn)商正在研究“移動AJAX”技術(shù),該技術(shù)為諾基亞論壇的130萬開發(fā)者開發(fā)出更豐富的手機應(yīng)用提供支持。
并且提出Java ME現(xiàn)在在業(yè)務(wù)模型方面已經(jīng)曝露出嚴重的缺陷, AJAXWorld 2006大會的發(fā)言人Ajit Jaokar表示,xHTML也將走向它生命的結(jié)點,因為Ajax提供了超級用戶界面,末來將成為移動應(yīng)用平臺的最佳選擇。
諾基亞走向AJAX的另一個原因可能是來自于微軟的.NET Compact Framework的壓力,諾基亞對此并不直接支持,而不得不堅持用Java ME、Symbian OS,以及最近的C++。
業(yè)內(nèi)分析家認為,AJAX與C++和Java相比,不是一個高效的技術(shù);因為它需要更多的處理能力和內(nèi)存來達到同樣的效果,但是他的確可以迅速的進行內(nèi)容的開發(fā),而對于移動互聯(lián)網(wǎng)來說,對于高質(zhì)量的內(nèi)容有很大的需求,因此諾基亞選擇了Ajax。
AJAX也能為下一代SIM芯片上的內(nèi)容提供理想的平臺,這一點有的開發(fā)者已經(jīng)進行了成功的部署。
2007年6月29日, Apple在美國的舊金山,發(fā)布了跨越時代的手機iphone,Ajax真正走出PC時代,從而實現(xiàn)了灰姑娘到白雪公主的轉(zhuǎn)變,Ajax的在移動領(lǐng)域成功,給Java在移動領(lǐng)域構(gòu)成的威脅是顯而易見的。
Iphone的推出是否會在業(yè)界產(chǎn)生連鎖反應(yīng),我們無法判斷,但是諾基亞的掉頭轉(zhuǎn)向ajax,將會使Java在移動領(lǐng)域方面面臨一次大的滑坡,也為高調(diào)宣傳Java過時論者提供了有力的證據(jù)。但是Sun公司不會眼看多年打下的江山就此崩盤,jphone的推出也許是對iphone最有力回擊,說明Java fx開始絕地反擊,群雄爭霸的亂象不可避免。
唱衰Java論者的高調(diào)宣言
在Web領(lǐng)域和移動領(lǐng)域,如果Java受到的沖擊還只是零星碎片的話,形成不了集團優(yōu)勢,那么來自微軟的全方位進攻,絕對是泰上壓頂,.NET是未來開發(fā)領(lǐng)域的趨勢,是.NET狂熱者們的高調(diào)宣言。
雖然donet是抄Java的,但是卻抄的很討巧,能夠讓大眾接受,微軟把它集成技術(shù)方面的優(yōu)勢發(fā)揮的淋漓盡致,易用,快速成為donet的王牌招式,反觀Java,就令人失望得多,Java雖然創(chuàng)造了軟件開發(fā)的神話,卻沒有持續(xù)輝煌的神話。
即使Java在諸多方面存在著不足,但是我們不能否定它存在的價植,據(jù)Sun公司2006年評估數(shù)據(jù)顯示,Java擁用全球450萬開發(fā)者,與去年相比增加12%,25億兼容Java的設(shè)備,自2004年6月以來增長42%, 10億Java Card,自2004年6月以來增長67%; •截止至2005年6月,支持Java的手機數(shù)量已達到7.08億部,于2004年6月相比,增長了23%,7億臺PC計算機,自2004年6月以來增長8%,除此之外,還有上百萬臺機頂盒、醫(yī)療設(shè)備、彩票終端機、打印機、網(wǎng)絡(luò)攝像頭、停車付費系統(tǒng)等。這些光環(huán)的背后在告訴我們Java過時之路還很遠。
即使.Net獲得成功了,Java也不會退出舞臺,因為Java的跨平臺性決定了Java必須留下來,他會隨著Unix走向何方?這還是一個未知數(shù)。現(xiàn)在Sun公司已經(jīng)由盛轉(zhuǎn)衰是一個不爭的事實,但是對java過時論地宣揚還為時過早。