技術趣味史-Java語言的身世

Java

時間回到 1990 年 12 月,一個叫做 帕特里克·諾頓 的大佬被他公司 Sun 開發的 C++ 和 C語言編譯器搞得頭大,主要是因爲當時 C語言 對一些硬件和系統的支持性並不好,導致一些 API (函數) 特別難用。在這之後,他又和公司另外幾位大佬開展一個名爲 Green 的計劃(之前被稱爲 Stealth 計劃),其中一位大佬就是被稱爲 “Java 之父” 的 詹姆斯·高斯林。幾個大佬高瞻遠矚,覺得未來是智能電器時代,所以決定開展用於電器領域的技術研究。

經過一番研究,大佬們發現 C++ 太複雜也不利於在不同的硬件上移植,並且由於 C++ 缺少垃圾回收,就是大佬他們用 C++ 寫程序都容易出錯(小編似乎找到了學不好 C++ 的理由了~),這樣下去可不行。最初他們是想在 C++ 基礎上開發一種新的面向對象的環境,**高斯林 嘗試修改和擴展 C++ 的功能,如能不能去掉難懂的指針,但是後來還是放棄了。不破不立,高斯林 **決定創造一門全新的語言,並以辦公室外的橡樹(英文是 “Oak”)命名(小編不得不感嘆大佬造輪子的能力~)。

經過大佬們 3 年(此時是 1993 年)沒日沒夜的開發,搞出來了 Green 操作系統、Oak 語言、相關的類庫和硬件(這下軟硬件都齊活了)。但遺憾的是,由於他們在和其他公司競爭電視行業的產品時都失敗了,Sun 公司叫停了 Green 計劃(好綠的計劃)。

但大佬們肯定是對失敗不甘心的(此時是1994 年),他們決定爲 Oak 語言尋找新的出路,所以在幾位大佬幾天的激勵討(che)論(dan)之後(歷史上很多協議和方案其實都是大佬們扯淡之後制定出來的,而我們普通人扯淡啥都出不來,可能這就是大佬吧,嗯~),最後試着讓 Oak 語言搭上萬維網的快車,將技術應用到瀏覽器中,爲此 諾頓 大佬就擼了個瀏覽器(羨慕大佬真是想擼啥就擼啥,不像小編我,只會擼**)。後來他們準備在自己公司召開的 SunWorld 大會(此時是 1995 年)上向大家公佈 Oak 語言和配套的瀏覽器,但是卻發現 Oak 這個名字早就被一家顯卡公司註冊了,所以爲了避免法律糾紛,就將語言改名爲了 Java。

至於爲啥改名爲 Java,也存在爭議,一種說法是大佬們編程時愛喝咖啡(也就喝咖啡這點我和大佬們一個水平,txtx),而 Java(爪哇) 島上產的咖啡豆磨成咖啡特別好喝,所以 Java 語言的圖標也是一杯熱騰騰的咖啡。還有一種說法是 Java 源文件在編譯後生成的 class(字節碼)文件,前四個字節用十六進制表示是 “CA FE BA BE”,拼成單詞就是咖啡寶貝的意思(看來這門語言和咖啡還真有緣),並用幾位大佬名字的首字母縮寫命名這門語言,最終得出了 **Java **這個名字(詹姆斯·高斯林,名字首字母是 J,在這門語言的誕生中起到了關鍵作用,被我們叫做 Java 之父)。下圖爲 Java 語言的吉祥物 Duke。

Duke

但是由於當時還是 網景公司(Netscape,主要貢獻有 JavaScript 語言,一些 Web 技術(如 Cookie),瀏覽器引擎 Gecko)和 微軟公司(M$ 公司(這裏字母沒打錯),這個就不多介紹了) 的瀏覽器使用人數最多,所以大佬們就推出了能夠支持其他瀏覽器的 Java 插件,這樣其他瀏覽器也可以愉快的跑 Java 寫的程序啦!(當時瀏覽器也就能顯示 HTML,而 Java 程序能夠運行在瀏覽器中做出一些動畫着實讓當時的人驚訝),這些Java程序被叫做 Applet。

直到 1995 年 5 月 23 日,Java 語言纔算是正式誕生。爲了滿足你們喜歡看人家爆照的心理,我這裏就給你們發一張 Java 之父 詹姆斯·高斯林的照片,這下你們該滿足了吧,嘿嘿~。

(圖爲 2005 年夏天高斯林在 JavaOne 大會,老爺子現在還健在呢)

Java 之父-詹姆斯·高斯林

在這之後,由於 Java 語言的跨平臺性和垃圾回收等優點,Java 很快便流行了起來。但將 Java 用在瀏覽器上做些小程序,這可滿足不了 Java 大佬們的野心。所以在 1999 年,經過大佬們的一波討論和開發,Sun 公司發佈了三個版本的 Java,JavaSE 版本進軍桌面軟件領域,JavaEE 版本進軍服務器開發領域,JavaME 版本進軍微型設備開發領域(如手機)。當時 Java 在服務器端和手持設備上混的風生水起,很多網站使用 JSP 和其他 Java 技術開發。同時期也正是互聯網發展的第一波,Java 自然也得到了廣泛的傳播。

之後 Sun 公司又不斷髮布了新版本的 Java(直到 Java6)。2009 年 Sun 公司被 Oracle 收購,在這十幾年間,由於 Java 的開源和社區,Java 被很多公司使用,如微軟、Oracle、IBM等。但微軟偷偷修改 Java 代碼,想在自己系統中捆綁 Java 平臺賺錢,不過這樣會使得 Java 變得不可移植。微軟的行爲自然是衆多 Java 開發者不能容忍的,後來微軟退出了 Java 領域,開發了自家的 C# 語言(一些說法是 C# 是在 Java 語言的基礎上設計出來的)來替代 Java。IBM 開發了 Java 的 IDE Eclipse,因爲軟件開源免費,很快就俘獲一批 Java 開發者的心,直到現在也被廣泛用在 Java 開發中。Eclipse 翻譯過來有 **日食,吞噬太陽(sun) **的意思,但其實 IBM 當時想吞噬的公司並不是 Sun,而是微軟。但 Eclipse 這個命名被 Sun 公司認爲是 IBM 蓄謀已久,想要消滅他們。當年想收購 Sun 公司的不止 Oracle 一家,這個命名的小插曲也導致最後 Sun 不接受 IBM 的收購,而給了 Oracle 公司(小編不禁感嘆,要想過得好,還是要名字起得好啊!)。如果當時 Google 收購了 Sun,估計今天的 Google 更牛逼,也不用和 Oracle 公司因爲 Android 撕逼了。

至於 Java 後面的歷史就更精彩了,但由於篇幅,今天就不再繼續介紹了。如果你對 Java 歷史感興趣的話,可以繼續關注《技術趣味史》版塊,我將在下週五繼續爲你帶來 Java 相關的趣味史哦。

偷偷說一下:如果覺得寫的還不錯,你的贊一點,小編就更開心了啦。

——本文轉自我的微信公衆號《編程心路》。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章