Java 20周年,你會一路追隨么?
原創Java,大學里學過的一門編程語言課程?Java,IT領域求職神器?無數的程序員投身到Java的懷抱,無數的商業應用基于Java構建。從1995年5月23日Java語言誕生,如今Java已經走過了20年。20年來,Java經歷過輝煌,還進入過低谷,但是,20年來技術的快速發展,卻沒有讓這個編程語言沒落,甚至還經常在各大編程語言排行榜中位列榜首。是什么支撐著Java走到今天?Java今后的發展又會走向何處?下一個20年里,你還會一直追隨Java么?
Java成功的保證
Java是由Sun公司在1995年正式推出的面向對象程序設計語言,自面市以來,發展迅速,至今依舊是900萬開發者的***編程語言,也是30億臺設備的基礎程序。基于Java的媒體設備已達1.25億臺,Java卡的出貨量也已超過了100億個。在全球范圍內,Java技術已廣泛應用于提高道路和航空安全性、從大洋深處采集科學應用所需的信息、提升作物質量、通過量化處理來協助戰勝饑餓、模擬人的大腦與肌骨系統以及游戲等各個領域。
甲骨文公司Java開發人員關系團隊總監Sharat Chander認為,Java***的成功在于Java社區,Java社區的蓬勃發展,以及Java社區的所有開發人員為Java過去二十年所作出的貢獻,是Java生命力最重要的來源。
甲骨文公司Java開發人員關系團隊總監Sharat Chander
Java 20年來的成功,最主要的基礎就是Java社區,通過社區中的技術專家們共同努力,推進Java的快速發展。在未來,Oracle會通過三種方式與整個Java社區共同成長。首先是Java社區的進程,通過Java社區進程來確保社區的開發人員與Oracle共同推動Java成長;第二,通過Java用戶群和用戶組來推動Java的發展,Java用戶群是本地的Java開發人員、工程師等共同組成的社群,他們互相之間學習,共同進行頭腦風暴,從其他同行身上學習Java的發展;第三,就是Java Champion項目,是Java社區中的技術***、領軍人物,他們在使用Java的過程中會產生創新性的想法,然后推動了Java的發展。
其次,Java成功的保障,來源于技術不斷的進步。當然,技術的進步也有賴于社區所有開發人員共同努力和貢獻,而Oracle也會不斷地傾聽所有Java社區中的技術人員、開發人員的反饋,然后集成到Java技術演變的進程中。
第三則是Oracle的管理功能,所謂管理的職能,其實就是Oracle扮演好推動Java社區發展,采集Java社區中所有開發人員、程序人員和所有其他社區的組成人員共同的聲音,然后把所有的意見集中在一起反應到整個Java技術革新中。
正如Sharat Chander所說:“Java已經成為我們日常工作和生活中極為重要的一部分,它支撐著我們每天使用的各種軟件。從企業大數據、云、社交媒體、移動和物聯網的創新,一直到車聯網、智能手機和電子游戲,Java不斷幫助開發者挑戰技術創新的極限。”
Java的優勢
眾所周知,Java的***優勢在于“一次編譯,到處運行”,而如今,開發語言和開發平臺眾多,也不乏有些具備跨平臺功能。Java如今還能保持這樣的優勢么?
甲骨文公司Java平臺開發事業部開發副總裁Georges Saab表示,當年提出“一次編譯,到處運行”是在90年代中期,桌面機器比較盛行,而桌面操作系統也有’很多,因此,Java的“一次變異,到處運行”的優勢就很明顯。而如今,世界上絕大多數的服務器都是在Java基礎之上,而原先的“一次編譯,到處運行”的意義就更加重要。“過去二十年的經驗告訴我們,不斷地證明你如果用Java語言來進行編譯,能夠***程度上保護你所付出的辛勤復雜,能夠在技術不斷革新的過程當中,能夠給你提供更好的保障。”
甲骨文公司Java平臺開發事業部開發副總裁Georges Saab
Java不斷地在和世界各地制作硬件和操作系統的廠商保持密切合作,來確保所有新的硬件以及操作系統的技術革新一旦出現后,Java能夠充分被支持,并且可以充分地利用硬件和操作系統所產生的技術的優化。
提高Java推出的透明度
2009年,當Oracle收購Sun公司后,專門組成了BEA團地來負責具體的Java實施工作,重新考慮為Java社區以及用戶的承諾。而在發布Java 7時,Oracle遇到了一些困難。是將Java所有承諾都做完再發布,還是按照既定時間發布,但有些功能沒有完成,因此發布的是不完整的。最終,Oracle決定聽從Java社區中技術人言的意見,基于大家的呼聲和反饋,最終選擇按時發布Java 7,沒有完成的功能將在Java 8中完成。
Georges Saab強調,Oracle希望提高發布過程的透明度,通過OpenJDK提升項目,通過社區可以預見的方式來進行發布。
在Oracle接手Java后,曾一度不被業界看弄好,打補丁修復漏洞的速度一直是Oracle的短板,再加之六年的時間中,Java僅發布了2個版本,未免也會讓Java開發者有些失望。Georges Saab表示,“Java相關的發布時間表都在一年前公布,Oracle會嚴格按照公布的時間來發布。例如,每個季度的安全補丁發布,大型版本的發布做到每兩年一次,小型的發布時間在6個月左右。”
Java的未來
目前,Oracle和Java社區現在主要專注于進行Java 9的創新。該版本的主要特色是Project Jigsaw,其目的是讓Java平臺模塊化,讓其能夠針對更廣泛的設備進行擴展,讓開發人員更容易建立和維護類庫和大型應用,同時提升安全性、可維護性和性能。Java 9的其他特性還包括Java Shell(用于評估Java代碼片段的交互式工具)、一個新的HTTP客戶端應用程序接口(支持HTTP/2和網絡插座)、一個連接基于Linux的ARM AArch64架構的端口、對現有應用程序接口進行的眾多更新和重大性能改進。
未來的Java,又會有哪些創新呢?Georges Saab表示,過去大部分應用會受CPU的限制,而未來內存應該會成為瓶頸。怎樣優化內存分布、優化數據的結構,使同樣的資源能夠發揮更大的作用,是Java未來的趨勢。
對于Java感興趣的用戶,可以在OpenJDK JEP(即JDK Enhancement Proposal,JDK增強方案)的進程頁面中,查看大家正在討論的方案和思路。同時,還可以查看名為Valhalla的項目,該項目的著眼點位于Java主體與Java對象之間,是專門研究Java 9之后的問題。
Georges Saab表示,“我們一直在努力,確保Java社區繼續保持活力、充滿干勁并推動該項技術不斷發展。二十歲對于人類來說僅僅算是步入青年,我們期待著Java能夠繼續充 滿生機地迎來下一個二十年。”