Java能夠長盛不衰20年的秘密
編程語言至于程序員就如同學(xué)武之人手中的兵器,其重要性不言而喻。在當(dāng)今眾多世界編程語言中(應(yīng)該會超過100種)挑選出一個(gè)來作為自己的職業(yè)依靠并不容易,特別是隨著時(shí)代的更迭,今天還很流行的編程語言或許很快就被邊緣化,使得這個(gè)選擇更為困難。不過,在眾多編程語言有些語言一直是程序員的熱門之選,Java就是其中之一。
根據(jù)TIOBE 2015年4月編程語言排行榜,Java、C、C++位列前三,緊隨其后的分別是Objective-C、C#、JavaScript、PHP、Python、Visusal Basice、Delphi、Perl等??吹贸?,盡管歲月的更迭,IT環(huán)境從單板機(jī)進(jìn)化到云計(jì)算、大數(shù)據(jù)、社交和移動設(shè)備流行的今天,程序員手中的兵器類型沒有多大變化。
毫無疑問,Java、C、C++都堪稱經(jīng)典的編程語言,其中Java有超過20年的歷史,而C、C++歷史還要更長些。C、C++強(qiáng)調(diào)與硬件的緊耦合,其程序效率高,但編程復(fù)雜,缺乏可移植性;而Java正好相反,它更重視可移植性(也就是跨平臺性),編程相對簡單,上手快,因此,很受程序員歡迎,并20年一直長盛不衰,成為最受程序員青睞的編程語言之一。
據(jù)不完全統(tǒng)計(jì),在企業(yè)級市場Java具有絕對的壟斷地位,市場占有率應(yīng)該超過90%。在消費(fèi)市場,其地位也非常穩(wěn)固。根據(jù)Java官方提供的數(shù)據(jù),基于Java的媒體設(shè)備已達(dá)1.25億臺,Java卡的出貨量也已超過了100億個(gè)。在全球范圍內(nèi),Java技術(shù)已廣泛應(yīng)用于提高道路和航空安全性、從大洋深處采集科學(xué)應(yīng)用所需的信息、提升作物質(zhì)量、通過量化處理來協(xié)助戰(zhàn)勝饑餓、模擬人的大腦與肌骨系統(tǒng)以及游戲等各個(gè)領(lǐng)域。
甲骨文公司Java平臺開發(fā)事業(yè)部開發(fā)副總裁 Georges Saab
到底是什么原因讓Java如此風(fēng)靡全球,流行20年而不衰?在日前舉行的Java20周年慶典上,甲骨文公司Java平臺開發(fā)事業(yè)部開發(fā)副總裁 Georges Saab總結(jié)了三個(gè)方面的原因:社區(qū)模式、技術(shù)不斷進(jìn)步和甲骨文的管理(之前是Sun公司)。“Java社區(qū)、技術(shù)不斷演進(jìn)和甲骨文的管理,這三點(diǎn)保證了Java過去的成功,我們也將用這樣的模式來保證未來二十年的成功。”他說。
他將Java成功首先歸功于Java社區(qū)。 “社區(qū)是Java生命力最重要的來源。更加準(zhǔn)確地說,是甲骨文和社區(qū)當(dāng)中所有的開發(fā)人員共同來管理Java,然后推動它繼續(xù)蓬勃發(fā)展,煥發(fā)出更強(qiáng)的生命力。”
目前,Java社區(qū)有三種方式來推動Java的發(fā)展,即Java社區(qū)流程(JavaCommunity Process)、Java用戶群和用戶組、Java Champion的項(xiàng)目(Champion是Java社區(qū)里面的領(lǐng)軍人物,他們推動了Java的發(fā)展,也獲得了整個(gè)Java社區(qū)的認(rèn)可。這些Java領(lǐng)軍人物的項(xiàng)目,推動了Java社區(qū)中技術(shù)***的發(fā)展)。
當(dāng)然,對程序員而言技術(shù)上的不斷進(jìn)步才是他們喜歡上Java的原因。實(shí)際上,過去20年來Java也經(jīng)歷了技術(shù)的不斷革新。在1995年Java剛剛問世的時(shí)候,Java主要針對的并非服務(wù)器端應(yīng)用,而是桌面市場。當(dāng)時(shí)Java有一個(gè)宣傳口號:“Write Once,Run anywhere”,然而,這種跨平臺特性很快在服務(wù)器端得到了應(yīng)用。
“Java的跨平臺能夠***程度上保護(hù)你所付出的辛勤工作,同時(shí)也能夠在技術(shù)不斷革新的過程當(dāng)中,給你提供更好的保障。” Georges Saab告訴《計(jì)算機(jī)世界》記者。
比如,芯片集不斷在更新,硬件不斷在更新,英特爾或甲骨文自己也在不斷更新軟件。但是如果用Java的話,就可以不斷利用芯片或其他硬件更新帶來的技術(shù)優(yōu)勢。即便編譯技術(shù)在不斷發(fā)展進(jìn)步,如果不是用Java的話就需要不斷寫代碼,然后要不斷重新編譯,整個(gè)硬件技術(shù)革新帶來的優(yōu)化就不能立刻享受。另外,Java一直不斷地在和世界各地硬件和操作系統(tǒng)的廠商保持密切合作,來確保所有新的硬件以及操作系統(tǒng)的技術(shù)革新一旦出現(xiàn)后,Java能夠充分被這些支持,從而可以充分地利用硬件和操作系統(tǒng)所產(chǎn)生的技術(shù)進(jìn)行優(yōu)化。
實(shí)際上,Java的每次版本更新也就代表了Java對快速變化的IT環(huán)境的一種應(yīng)對。從甲骨文接手Java以來已經(jīng)連續(xù)推出了Java 7、Java 8兩個(gè)版本。目前,Java社區(qū)和甲骨文正專注于Java 9的創(chuàng)新,該版本的主要特色將是Project Jigsaw,其目的是讓Java平臺模塊化,使其能夠針對更為廣泛的設(shè)備進(jìn)行擴(kuò)展,讓開發(fā)人員更容易建立和維護(hù)類庫和大型應(yīng)用,同時(shí)提升安全性。此外,還包括Java Shell、新的HTTP客戶端API和連接基于Linux的ARM Arch64架構(gòu)的端口等。
GeorgesSaab透露,Java 9將于明年推出。他表示,就長期而言云將是Java技術(shù)的重點(diǎn)關(guān)注領(lǐng)域和支持對象。