編者按:早在上世紀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(需 要翻墻)



dm520