Java 25 歲了

csdn程序人生 發佈 2020-05-25T04:51:19+00:00

因此,在一家名為 Sun 公司中,由一位 James Gosling 的工程師帶領其團隊基於 C++,大刀闊斧地進行了改造,他們去掉了 C++ 一些不實用的功能與特性,又結合了嵌入式系統的實時性要求,開發了一款面向對象的 Oak 語言。


整理 | 屠敏

頭圖 | CSDN 下載自視覺中國

出品 | CSDN(ID:CSDNnews)

網際網路是有記憶的,而 Java 作為一種程式語言,在支撐這份記憶的過程中,立下了汗馬之勞。

5 月 23 日,在這一天,Java 迎來了屬於自己的 25 歲生日。

Java 的過去

25 年前的今天,Java 生逢其時。

在計算機革命開始之際,硬體資源的逐漸富餘為 IT 工程師們提供了各個層面充足的創新與試錯機會,當然這其中也包括了開發工具層。

無論是前期美國計算機科學學者與軟體工程師 Ken Thompson 開發的 B 語言,還是後來 Dennis Ritchie 創造的 C 語言、繼而 C 語言衍生出了 C++ 等等,當時的開發工具領域早已呈現出百花齊放百家爭鳴的盛況。

不過,在彼時單片式計算機系統以其「低廉的價格、強大的功能」風靡網際網路圈時,最被工程師們看好的工具備選 C++,因其過於複雜的特性,以及不具備跨平台等功能,讓想要在嵌入式應用領域搶占先機的企業與工程師們頭疼不已。

正所謂這個世界上「沒有完美的軟體,也沒有完美的開發人員」,既然如此,「改」才是王道。因此,在一家名為 Sun 公司中,由一位 James Gosling 的工程師帶領其團隊基於 C++,大刀闊斧地進行了改造,他們去掉了 C++ 一些不實用的功能與特性,又結合了嵌入式系統的實時性要求,開發了一款面向對象的 Oak 語言。

經過近三年漫長疊代與輾轉,在網際網路崛起之際,Oak 在變身並更名為 Java 後,因其面向對象以及"寫入一次,隨處運行"的可移植性而聲名大噪,Sun 公司也於 1995 年 5 月 23 日這一天在 Sun World 會議上正式向外界揭開了 Java 的面紗 。

自此後的多年間,Java 也按照自己的技術軌跡穩步發展:

  • 1996 年,JDK 1.0 發布,標誌著 Java 成為一種獨立的開發工具;
  • 1997 年,JavaOne 會議召開,參與者逾一萬人,創當時全球同類會議規模之紀錄;
  • 1998 年,Java 2 企業平台 J2EE 發布;
  • 1999 年,Sun 公司發布 Java 三大版本:標準版(J2SE)、企業版(J2EE)和微型版(J2ME);
  • 2000 年,JDK 1.3 與 JDK 1.4 發布;
  • 2001 年,J2EE 1.3 發布;
  • 2002 年,J2SE 1.4 發布,自此 Java 的計算能力有了大幅提升;
  • 2003 年,J2SEE 1.4.2 發布;
  • 2004 年,J2SE 1.5 發布,彼時 Sun 公司為了凸顯這個版本的重要性,將 J2SE 1.5 更名為 J2SE 5.0;
  • 2005 年,Sun 公司公開 Java SE 6;
  • 2006 年,Sun 公司宣布 Java 全線採納 GNU General Public License Version 2,從而公開了 Java 的原始碼;
  • 2007 年,Sun Microsystems 公司放棄了對 Java™ 平台的統馭,將權力交給了 Java 開發人員社區;
  • 2008 年,JavaFX1.0 發布;
  • 2009 年,甲骨文宣布 74 億美元收購 Sun 公司,。
  • 2010 年,JavaEE 6 發布;
  • 2011 年,Java 7 發布;
  • 2014 年,Java 8 正式發布;
  • 2017 年,甲骨文宣布 Java 發布頻率改為每六個月一次;
  • 2018 年,甲骨文宣布自 2019 年 1 月起,Java SE 8 公開更新將不向沒有商用許可證的業務、商用或生產用途提供。

至今,Java 已滲透到了企業級應用、遊戲、嵌入式設備、桌面級應用等各個場景中。

  • 《Java 發展簡史:初生遇低谷,崛起於網際網路》


歷經波折

最初得益於 Java 虛擬機支持多個硬體平台和作業系統,Java 小程序可以從網頁運行。當時如 IBM、Apple、Adobe、HP、Oracle、Netscape 和微軟等各大科技巨頭公司都紛紛停止了自己的相關開發項目,競相購買了 Java 使用許可證,並為自己的產品開發了相應的 Java 平台。

不過也正因此,在過往 25 年間,圍繞 Java 技術核心,有兩大讓業界頗為關注的訴訟案。

第一起是 Sun 和微軟之間關於微軟在 Windows 中使用 Java 的問題。

1997 年,Sun 公司一紙訴訟書將微軟起訴至美國加州地方法院,原因是 Sun 公司認為,在微軟使用 Java 技術簽訂的合同時,微軟在自己的 Java 產品中做了「不恰當修改」違反了合同中承諾向用戶提供 Java 兼容產品的條款。

經過漫長的調解,最終這一場官司於 2001 年,微軟同意向 Sun 公司支付 2000 萬美元和解才結束。自此,雖然微軟也可以繼續採用 Sun 公司開發的 Java 技術的現有產品,不過,將技術握在自己手中畢竟更為自由,於是 2001 年 7 月,微軟推出了 .NET 平台,希望與 Java 有一戰。

另外,還一起關於 Java 的智慧財產權糾紛,更為長久,至今仍未有定論,它就是後來收購了 Sun 公司的甲骨文和谷歌之間的 Java 知識產品糾紛案。

2009 年,甲骨文指控谷歌在 Android 開發中濫用了 Java API 版權,並直接複製了 11330 多行代碼,侵犯了自己的智慧財產權。

經過近十年的激烈交鋒,2018 年,聯邦巡迴上訴法院認定安卓侵權,Google 敗訴並要進行 88 億美金賠償。

2019 年,Google 上訴,要求美國最高法院進行最終裁決,2019 年 11 月最高法院同意審理。而日前,Google、Oracle 均向美國最高法院提交了自己的陳述,不過因為今年以來全球受疫情的影響,該起案件最終定論如何尚未可知。

不過,現實來看,無論最終判罰的結果如何,終將在一定程度上影響移動開發中使用 Java,甚至還會影響所有軟體開發。

Java 當下

刨除外在的商業利益關係,回歸到 Java 程式語言本身,在 25 年後的今天,憑藉著面向對象、跨平台、可移植、高性能等優勢,Java 橫掃各大程式語言榜單,期間雖經歷了 Kotlin、Python、Go 等後起之秀揚言「取而代之」的挑戰,卻依舊被業界稱之為程式語言界的常青藤,也成為企業應用開發主流的存在。

根據甲骨文的數據,2017 年全球估計有 900 萬 Java 開發人員。與此同時,Java 也催生了一個巨大的工具生態系統,從 Spring 框架到應用程式伺服器,從 IBM、紅帽和甲骨文等公司到 JavaFX 富媒體平台,Java 身影無處不在。

在國內環境中,也有大量的企業採用 Java,以阿里巴巴為例,其不僅在生態上擁有 14000 開發者、90000 應用實例、內部有 1000000 JVM 實例等,在 Spring、Spark、HBASE 等技術棧中也均有 Java 應用。



Java 的未來

雖然目前 Java 的更新速度無人能及,開發者也叫苦不堪,直言「學不動」。不過 Java 基於自身的痛點仍在不斷改進中,

在兩個月前發布的 Java 14 中,提供了16個主要的改進和變更,包括兩個孵化器模塊、三個預覽特性、兩個棄用的功能以及兩個刪除的功能。

  • 《Java 14 來了!》

近日,Oracle Java 平台組首席架構師 Mark Reinhold 在 OpenJDK 社區中提出了一項建議,將解決長期 Java 的難題,包括啟動時間慢、性能達到峰值的時間緩慢以及占用空間大等問題。

歷經風霜,我們不能保證多年後,Java 仍是主流,但在當下,Java 仍是編程之王,Java,25 歲,生日快樂!


☞賣掉 3000 平房子,50 歲程式設計師回國寫代碼,三個月融資 2000 萬美元
☞2 年 6 個月 11 天,外包到阿里的修仙之路!| 原力計劃
☞Flash 已死,Deno 當立?
☞伺服器軟體大掃盲!
☞絕悟之後再超神,騰訊30篇論文入選AI頂會ACL
☞中本聰並沒有出現,那真相是?


關鍵字: