編按:早在上世紀90年代,各種關於Java已死的斷言就已經開始出現。十多年後的今年,這樣的言論依然不絕於耳。以關鍵字"java is dead"在Google中搜索,得到大約199,000條結果,由此可見不少人寫過或評論過Java的死亡。針對這門已死十多年的語言,作者在文中概述了當今Java的地位及其發展趨勢,有力地回擊了這些傳言。全文如下:
許多Java已死的言論者是因為不喜歡Java的某些特性(如當初Java所沒有的閉包),而且考慮向後相容性,所以他們對新特性的效力和是否適合表示了質疑,有時他們也認為Java變得過於複雜。當然這些言論者在打賁語的同時,也會提議另一種語言也就是他們所喜歡的語言。我敢說,他們對Java提出多少批評,我可以對他們提議的語言提出更多的批評。只是我們完全沒必要。
諷刺的是,作為一門已死的語言來說,Java做得真是不錯:它仍是Tiobe Programming Community Index程式語言排行榜上的第一位,而且已經佔據此位置十年之久(只是在2000年中期的時候位於C語言之後排名第二)。從招募網站來看,Java程式設計師也依舊有著旺盛的需求。
所以,Java已死的言論真的很無稽,而且至少在接下來的這幾年裡會依然無稽。原因有很多:首先,許多電腦科學的程式和其他領域的程式是以Java為首要語言來寫的;第二,Java有一個巨大的穩定的程式碼庫;第三,有大量的廠商投資、工具、培訓和其他產品,使得無論是供應商還是他們的客戶都依賴Java。第四,Java擁有最大的開發者人群和開源生態系統,當涉及選擇何種工具、供應商和開發者來作為未來的開發方向時,Java仍是首選。顯然,Java一點都沒死。
退一萬步來說,就算Java真的到了暮年或即將老去,參考其他已接近死亡的語言,它的未來也並不暗淡。例如許多開發者談論C++正在死去,而它最近卻在復甦,因為Google Go語言的發布重新激起了C和C++的生命力。而且鑑於C++的歷史沉澱和基礎,能完全取代它的語言目前恐怕只有Java。而即使Java想在自己的優勢領域(如GUI和資料庫開發)完全取代C++,也面臨很大的障礙即:將C++應用搬遷到Java的巨大成本。儘管JNI、CORBA、web服務和相似的技術領域已經將兩種語言混合,但它們有各自的複雜性和問題。所以一門不甚景氣的程式語言完全死去也要經歷很長的時間,況且Java還遠遠沒到不景氣那一步。
當然,Java面臨的最大的威脅是快速發展的JVM-hosted語言如Groovy, Scala, JRuby和Clojure。由於這些語言運行在JVM上,它們與Java語言的整合比Java本身更方便、更簡單。而Java正面臨一個巨大的影響:Oracle對Sun的收購。但結果是好或壞,我們只能等待交易最終的完成(或取消)。
因此,儘管Java有了臃腫之處和歲月的痕跡,但當把所有的因素都考慮在內(Java龐大的生態系統和產品、現有的代碼和投資),很難看出在不久的將來有一門語言會比Java更成功。 Java遠遠沒有死亡,根本不該列入將死亡的語言行列。 (譯/王玉磊)
原文連結: http://www.dzone.com/links/i_use_dead_programming_languages_java.html (需要翻牆)