再論Java已死 基于JVM的語言已成Java最大威脅
在2009年7月的編程語言排行榜中,51CTO曾以《Java,正在老去的王者》為題分析了Java語言近年來的發(fā)展和變化,文中雖未提及Java已死的言論,但Java近年來確實(shí)遇到了一些發(fā)展瓶頸。Java已死的說法由來已久且支持這種觀點(diǎn)的開發(fā)者眾多,但也有相當(dāng)一部分人對此抱有異議,今天我們轉(zhuǎn)載一篇國外開發(fā)者的博文,再論Java已死。
很多Java已死的言論者是因?yàn)椴幌矚gJava的某些特性,如當(dāng)初Java所沒有的閉包(51CTO編者注:在2009年的Devoxx大會上,Sun已經(jīng)宣布Java 7決定包含閉包),而且考慮向后兼容性,所以他們對新特性的效力和是否適合表示了質(zhì)疑,有時(shí)候他們也認(rèn)為Java變得過于復(fù)雜。當(dāng)然這些言論者在打誑語的同時(shí),也會提議另一種語言也就是他們所喜歡的語言。我敢說,他們對Java提出多少批評,我就可以對他們提議的語言提出更多的批評。只是我們完全沒必要。
諷刺的是,作為一門已死的語言來說,Java做得真是不錯:它仍是編程語言排行榜上的第一位,而且已經(jīng)占據(jù)此位置十年之久(只是在2000年中期的時(shí)候位于C語言之后排第二)。從招聘網(wǎng)站來看,Java程序員也依舊有著旺盛的需求。
所以,Java已死的言論真的很無稽,而且至少在接下來的這幾年里會依然無稽。原因有很多:首先,許多計(jì)算機(jī)科學(xué)的程序和其他領(lǐng)域的程序是以Java為首要語言來編寫的;第二,Java有一個(gè)巨大的穩(wěn)定的代碼庫;第三,有大量的廠商投資、工具、培訓(xùn)和其他產(chǎn)品,使得無論是供應(yīng)商還是他們的客戶都依賴著Java。第四,Java擁有最大的開發(fā)者人群和開源生態(tài)系統(tǒng),當(dāng)涉及到選擇何種工具、供應(yīng)商和開發(fā)者來作為未來的開發(fā)方向時(shí),Java仍是首選。顯然,Java一點(diǎn)都沒死。
#T#退一萬步來說,就算Java真的到了暮年或者即將老去,參照其他已接近死亡的語言,它的未來也并不暗淡。比如許多開發(fā)者談?wù)揅++正在死去,而它最近卻在復(fù)蘇,因?yàn)镚oogle Go語言的發(fā)布重新激起了C和C++的生命力。而且鑒于C++的歷史沉淀和基礎(chǔ),能完全取代它的語言目前恐怕只有Java。而即使Java想在自己的優(yōu)勢領(lǐng)域(如GUI和數(shù)據(jù)庫開發(fā))完全取代C++,也面臨著很大的障礙即:將C++應(yīng)用搬遷到Java的巨大成本。盡管JNI、CORBA、web服務(wù)和相似的技術(shù)領(lǐng)域已經(jīng)將兩種語言混合,但它們有各自的復(fù)雜性和問題。所以一門不甚景氣的編程語言完全死去也要經(jīng)歷很長的時(shí)間,況且Java還遠(yuǎn)沒到不景氣那一步。
當(dāng)然,Java面臨的最大的威脅是快速發(fā)展的JVM-hosted語言如Groovy, Scala, JRuby和Clojure,詳細(xì)請參考51CTO之前的分析《Java的未來:百家爭鳴的JVM》。由于這些語言運(yùn)行在JVM上,它們與Java語言的集成比Java自身更便捷、更簡單。而Java正面臨著一個(gè)巨大的影響:Oracle對Sun的收購。但結(jié)果是好或壞,我們只能等待交易最終的完成(或者取消)。
因此,盡管Java有了臃腫之處和歲月的痕跡,但當(dāng)把所有的因素都考慮在內(nèi)(Java龐大的生態(tài)系統(tǒng)和產(chǎn)品、現(xiàn)有的代碼和投資),很難看出在不久的將來有一門語言會比Java更成功。Java遠(yuǎn)沒有死亡,根本不應(yīng)該列入將死亡的語言行列。
原文地址:http://www.dzone.com/links/i_use_dead_programming_languages_java.html


























