Java 消亡了?不!原因在這…

2016-07-28    分類:資訊、首頁精華0人評論發表於2016-07-28

本文由碼農網 – 孫騰浩原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

年復一年,關於”Java消亡了?”的疑問頻繁湧現,然而,通過所有外部表現來看,Java仍活著,並且在發展。儘管許多新語言各領風騷,開發語言排行榜(TIOBE)上Java在2015年仍居榜首,並比2014年增長了5%的使用量,遠遠超過其他語言。

另一方面,PYPL index根據Google搜尋頻率為程式語言排名,展示Java以總搜尋量的23.9%遙遙領先。

近兩年有很多Java死灰復燃的原因(Android開發的爆炸式增長,Java 8的釋出,Spring社群的活躍,尤其是Spring Boot),市場優勢來自於偉大的產品。這就是為什麼我們認為Java並不會消亡的原因。

Java虛擬機器和Java生態環境

Java虛擬機器,或稱JVM,將程式編譯成位元組碼,稍後被JVM解析執行。因為JVM根植於你的特定硬體和系統,它允許Java在各處執行,Windows、Mac或各種Linux。

JVM帶來的巨大優勢就是它提供的強大相容性和穩定性。因為你的應用執行在虛擬機器上而不是直接執行在硬體上,你可以編寫一次應用並執行在每個有Java虛擬機器的裝置上。這也是Java核心原則:“一次編寫,到處執行”。這也讓Java應用面對環境變化時有更大彈性。

安全性和互操作性

Android環境就是Java安全性和互操作性的典型代表。Android佔全球手機市場89%,執行基於Java。因為Java允許作業系統執行在虛擬機器中,並不需要在每臺裝置上編譯,提高了系統的穩定性和易用性。

Android展現出的Java另一個優點就是與其他基於JVM語言的互操作,比如Scala、Groovy、Clojure、JRuby等等。你可以選擇使用這些“更加動態”的語言來構建你的應用,並在需要更多效能的時候重拾Java。

巨大的Android市場在內部開發中也存在危險。Android+Java允許使用者執行不受信任的應用,並通過虛擬機器來執行所有應用來緩解這種危險。因此,應用充分利用作業系統核心的唯一方式就是放棄虛擬機器的實現,也就是那個非常小的、被安全層緊緊保護的虛擬機器。

Java的實際應用規模

Amazon、Google、eBay和許多其他大型電商使用Java作為它們的後臺。它們使用Java是因為Java久經考驗並且可伸縮。任何語言的後臺只能支撐少量使用者,但Java可以處理200m或等多。讓我們看幾個典型例子:

Hadoop

Apache Hadoop是支援在大規模硬體叢集上執行應用的的Java框架。它被設計用來為那些操作和處理大資料的應用提供高吞吐量。如今Hadoop被許多公司,如Facebook、Amazon、IBM、Joost和Yahoo來處理資料、分析或生成記錄。

Hadoop的創造者Doug Cutting說過:”Java協調了開發者開發效率和程式執行效率。開發者受益於這種簡單、強大、型別安全的語言和豐富的高質量庫。”簡而言之:大資料離不開Hadoop,Hadoop離不開Java。

Twitter

對於Oracle團隊和Java來說,Twitter是近幾年眾人皆知的巨大成功。最初由Ruby on Rails構建,Twitter流行度急速上升,同時RoR框架可伸縮性的缺陷也清晰暴露出來。“Fail Whales(失敗鯨)”(Twitter當機時的標誌畫面)也頻繁出現,直到Twitter在2012年轉向Java。如今Twitter執行在Java+Scala之上,Fail Whales(失敗鯨)也不復存在。

Minecraft

Minecraft是款不可思議的成功遊戲。開發團隊通過它賺了上百萬美元,然後以25億美元價格賣給微軟。Minecraft執行在Java之上。

龐大的的Java社群幫助Minecraft蔓延到成千上萬的遊戲mod。同時Minecraft向新一代開發者推薦Java。Google上搜尋”Minecraft mod製作”會返回65.3萬的結果,其中大多是教12歲以下人群如何程式設計。

其中一款開源工具是Eureka,人們用它來跟蹤使用者登入Netflix所使用的裝置,並交叉校驗動作和最近活動,來確保當前賬戶是安全的。

Java的未來

去年,Oracle宣佈Java 9預計在2016年9月到來。這次更新把語言中眾多函式拆分成許多小元件,意在讓Java更加快速和易用。Oracle的巨大投入(雖然總被黑)幫助Java一方面可以繼續支援企業依賴,另一方面也可以有所新的發展。

Java和物聯網(Internet of Things)

“我認為Java的未來就在物聯網(IoT)之中。我很想看到Oracle和合作夥伴致力於完善Java端對端的儲存解決方案,從裝置通過閘道器到達企業後臺。如果能夢想成真並取得成功,將鞏固Java在未來20年中的地位。這對於行業來說是巨大的挑戰,我相信Java能夠勝任。”Eclipse基金會執行董事Mike Milinkovich這樣說。

Oracle贊同這點。Development Georges Saab副總裁說:“Java對於物聯網(IoT)來說是很棒的技術。物聯網很多挑戰是桌面和客戶端的挑戰,上世紀90年代Java已經解決。現在有很多不同的硬體裝置。你想讓開發者關注系統的各個層面,理解並運用。Java是少數能讓你這樣做的技術之一。”

Java + Stormpath

有不少批評Java的人,他們部分爭論的焦點或許有一些說服力,但這也是好事,比如優秀的部署工具、效能分析、Java虛擬機器、龐大的庫等等。在Stormpath,我們的後端完全用Java開發,並且我們升級到了Spring Boot。Java萬歲。

譯文連結:http://www.codeceo.com/article/java-no-die.html
英文原文:Is Java Dead? No! Here’s Why...
翻譯作者:碼農網 – 孫騰浩
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章