Java,傳奇的一生!

來源:互聯網
上載者:User

標籤:

 如果說用“永存、曲折、已死、重生”來形容Java,筆者以為一點也不為過。

 

1991年,James Gosling帶領著名為“Green Team”的團隊著手研發一種新的語言以及專為下一代數字裝置和電腦使用的網路系統。曆時4年辛勤工作後,該項目最終修成正果並取名為Java。 

Java有著類似於C的文法並有“一次編譯,隨處運行”的靈便性。透過虛擬機器機制,可以使代碼在底層平台進行運行時編譯。回首Java過去的20年,首先是經曆了微機時代的興與衰,然後進入伺服器領域及智能電話領域,繼而在DHS(美國土安全部)的“不安全”定義下艱難前行,最後投入甲骨文(Oracle)懷抱現正蓄勢迸發第二春。難道還有別的語言有如此跌宕起伏的情節嗎? 

Java推出後,Sun發現市場上存在著一個問題—電腦領域與非電腦領域彼此是隔斷的。Sun認為這是一個機遇,如果能把兩者串連起來將會帶來一場電腦革命。“統一的主題是網路。”Gosling說,“放眼當時的市場,兩個領域的廠家各自為政,沒有形成統一的網路。因此很多時候不得不重複大量的實驗,但這些其實早在30年前的電腦科學中已得到解決。”問題的所在是電子消費品製造者沒有考慮使用網路,例如跨平台的公用APIs或者代碼複用,“你幾乎找不到任何的軟體複用。所有軟體都只能不斷地被重複建立。我們提出的模組概念終將改變這一局面。” 

成功非坦途

Java面世的頭五年,成為當之無愧的編譯器高效能代言人。而過後五年,所有人都把重心轉向了公司專屬應用程式。Gosling說,“回首Java EE統治世界的情境至今仍曆曆在目。我們唯一的失誤是把全部精力都集中於此,所有資源都被優先調配到EE,導致無法投入更多的精力去開拓案頭的世界。” 

Oracle Java平台開發副總裁Saab是這樣說的,“在90年代,大多數開發人員都把精力投入到案頭應用的編寫之上。到了2000年,Pet.com的成功吸引了大批的跟風者。業界又把焦點從案頭轉移到了HTML應用。隨著智能電話和平板的到來,基於觸控螢幕的行動裝置 App又站在了風口。所以對於下一個流行趨勢是很難把握的,這涉及到天時、地利、人和。” 

Java 2 Micro Edition(J2ME)在1998年引入並把Java劃分了三個平台:Java 2 Standard Edition(J2SE)、J2ME以及Java 2 Enterprise Edition(J2EE)。ME的意思是小型裝置和嵌入系統。ME在翻蓋手機上得到推廣,成為當時的標配。Gosling說,“ME已經做得足夠好了,在當時是最強大的智能電話開發平台。不過現在漸漸被遺忘,因為Android太耀眼了。” 

作為一個獨立平台,Java  ME被邊緣化了。Oracle開發部進階副總裁Cameron Purdy說在下一個版本Java 9中會把所有平台統一起來,“對比SE、ME被獨立出來但發展緩慢。Java 9的模組化特性會使得Java ME的可複用性得到增強,這將是反擊Android和iOS的有力武器。” 

陷入低穀 

隨著Sun在最近10年的低迷,Java也不能倖免地經曆著蹉跎歲月。IBM報價65億美元,Sun沒答應,74億美元,Oracle得到了Sun。 

在Oracle管理下,頭幾年Java表現良好,以0重大失誤成為安全的代名詞。不過在2013年1月情況開始變壞,美國土安全部(DHS)建議人們盡量不要使用Java。作為面向企業的軟體公司,打補丁修複Bug的速度是Oracle的短板,根本無法與面向福士消費者的微軟或Adobe相比。別人是以小時或天來計,而Oracle是以月為基本單位。 

Purdy認為Oracle已經盡了最大的努力去修補並清楚這個短板的重要性。問題的關鍵是如何打造一支在失去Gosling等幹將後仍能獨當一面的團隊。他說,“我們聽到了不少質疑之聲,但其實我們一直都在不斷加入投入的力度並努力尋求解決的方案。” 

浴火重生 

DHS的公開聲明不啻是壓垮Java的最後一根稻草,很多人都預言Java將風光不再。然而事情慢慢得到轉機,不少Java粉絲開始出來捍衛Java的名聲。Dr. Dobb‘s Journal編輯Andrew Binstock曾發表一篇社論,其題目是:《即使面臨死亡,Java看上去還是相當健康的》。 

對於Oracle的接管,Gosling表達了自己的喜悅之情,“得知這個訊息後,我感到非常驚喜。Oracle是個非常優秀的監護人並大大超出了我的期望。一開始我還擔心它會不會成為第二個Solaris,現在看來我是多慮了。” 

接管Java的頭五年,Oracle不得不重新打造一支Java團隊。“我們花了大量時間來審視整個過程以確定如何進行Bug修複,從輸入到發布機制,我們回顧了大量的代碼。最後列出了一個長長的錯誤修複表。”Purdy回憶說。 

安全曾讓Java蒙羞,安全也讓Java重獲新生。在2014 Pwn20wn駭客大會上,Java成為唯一沒有被攻破的平台。而在2015的會議中,Pwn20wn甚至沒有把Java列在攻擊名單上。

現在和未來

Java 9將是自被Oracle收購後發布的首個重大版本。Java 9的最主要目標是最大限度實現模組化以協助人們實現積木式的應用編寫。 

“我們的目的是協助人們從JAR的束縛中解脫出來。”Saab說,“你將很輕鬆地處理在過去相當複雜的事情,例如打包。你可以只用到需要的模組,而把其它忽略。”Purdy補充道,“這開創了Java平台的先河。該特性將貫穿整個Java庫,並以單依賴圖的方式重新整理依賴。” 

談及Java的未來,Eclipse基金會執行董事Mike Milinkovich的看法是,“我認為Java的未來在於物聯網。我十分樂意看到Oracle及其夥伴能把精力放在完全點對點的Java儲存方案上,透過網關實現裝置到企業背景串連。如果成功將能使Java在往後20年發展得更好走得更遠。雖然這還有一段路要走,但我相信Java能夠做到。” 

Gosling的看法是,“VM是它本身的生態,所有部分彼此相通。IT世界的未來是要實現互聯互連。把邊緣和核心有效地統一起來,可以省卻內外分開管理的麻煩,從而得到更加強大的平台。” 

遍地開花

雖然很多人都曾預言Java將一蹶不振,但是現今在不少的重要項目中,Java仍扮演著極其重要的角色。 

Purdy指出,沒有Java,甚至不會有大資料的大發展,“Hadoop本身就是用Java編寫的。當你需要在運行MapReduce的伺服器叢集上發布新功能時,你需要進行動態部署,而這正是Java所擅長的。” 

另一Java受惠者是Twitter。一開始Twitter是用Ruby on Rails編寫的,但是隨著使用者數的增長RoR逐漸顯得力不從心。Fail Whale(失敗鯨)的宕機畫面預示著瓶頸問題亟需解決。在2012年,Twitter從RoR轉向了Java和Scala,而失敗鯨從此滅絕了。 

可見Java不但沒有成為昨日黃花,還重新煥發了新的生機。讓我們共同期待Java 9,看看Oracle將為廣大開發人員帶來什麼樣的驚喜。 

 

原文地址:http://www.pinhuba.com/other/101105.htm

Java,傳奇的一生!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.