一、Java的發展史
1 什麼是Java
美國硅谷有一句行話,每10年~15年有一次輪回。最近的一次輪回就是從Java開始。
Java是一個由Sun公司開發而成的新一代編程語言。使用它可在各式各樣不同種機器、不同種操作平台的網絡環境中開發軟件。不論你使用的是哪一種WWW浏覽器,哪一種計算機,哪一種操作系統,只要WWW浏覽器上面注明了“支持Java”,你就可以看到生動的主頁。Java正在逐步成為Internet應用的主要開發語言。它徹底改變了應用軟件的開發模式,帶來了自PC機以來又一次技術革命,為迅速發展的信息世界增添了新的活力。
Sun的Java語言開發小組成立於1991年,其目的是開拓消費類電子產品市場,例如,交互式電視、烤面包箱等。Sun內部人員把這個項目稱為Green,那時WorldWideWeb還在圖紙上呢。該小組的領導人是JamesGosling,是一位非常傑出的程序員。他出生於1957年,於1984年加盟SunMicrosystem公司,之前在一家IBM研究機構工作。他是SunNeWs窗口系統的總設計師。也是第一個用C實現的EMACS的文本編輯器COSMACS的開發者。
在研究開發過程中,Gosling深刻體會到消費類電子產品和工作站產品在開發哲學上的差異:消費類電子產品要求可靠性高、費用低、標准化、使用簡單,用戶並不關心CPU的型號,也不欣賞專用昂貴的RISC處理器,他們需要建立在一個標准基礎之上,具有一系列可選的方案,從8086到80586都可以選取。
2 從C開始
為了使整個系統與平台無關,Gosling首先從改寫C編譯器著手。但是Gosling在改寫過程中感到僅C是無法滿足需要的,於是在1991年6月份開始准備開發一個新的語言,那麼給它起一個什麼名字呢?Gosling回首向窗外望去,看見一棵老橡樹,於是建一個目錄叫Oak,這就是Java語言的前身(後來發現Oak已是Sun公司另一個語言的注冊商標,才改名為Java,即太平洋上一個盛產咖啡的島嶼的名字)。
Gosling在開始寫Java時,並不局限於擴充語言機制本身,更注重於語言所運行的軟硬件環境。他要建立一個系統,這個系統運行於一個巨大的、分布的、異構的網格環境中,完成各電子設備之間的通信與協同工作。Gosling在設計中采用了虛機器碼(Virtual Machine Code)方式,即Java語言編譯後產生的是虛擬機,虛擬機運行在一個解釋器上,每一個操作系統均有一個解釋器。這樣一來,Java就成了平台無關語言。這和Gosling設計的Sun NeWs窗口系統有著相同的技術味道。在NeWs中用戶界面統一用Postscript描述,不同的顯示器有不同的Postscript解釋器,這樣便保證了用戶界面的良好的可移植性。
Patrick Naughton也是Sun公司的技術骨干,曾經是Open Windows項目的負責人。當Naughton加入該小組後,整個工作進展神速。經過17個月的奮戰,整個系統勝利完成。它是由一個操作系統、一種語言(Java)、一個用戶界面、一個新的硬件平台、三塊專用芯片構成的。通常情況下,這樣的項目在Sun公司要75個人干三年。項目完成後,在Sun公司內部做了一次展示和鑒定,觀眾的反應是:在各方面都采用了嶄新的、非常大膽的技術。許多參觀者對Java留下了非常深刻的印象,特別得到Sun的兩位領導人Scott McNealy和Bill Joy的關注,但Java的前途未卜。
3 Java語言的轉折點
到了1994年,WWW已如火如荼地發展起來。Gosling意識到WWW需要一個中性的浏覽器,它不依賴於任何硬件平台和軟件平台,它應是一種實時性較高、可靠安全、有交互功能的浏覽器。於是Gosling決定用Java開發一個新的Web浏覽器。
這項工作由Naughton和Jonathan Payne負責,到1994年秋天,完成了Web Runner的開發工作。Web Runner是HotJava的前身,這個原型系統展示了Java可能帶來的廣闊市場前景。Web Runner改名為HotJava,並於1995年5月23日發表後,在產業界引起了巨大的轟動,Java的地位也隨之而得到肯定。又經過一年的試用和改進,Java1.0版終於在1996年年初正式發表。