「矽谷流傳一句行話:每 10~15 年發生一次技術輪迴。最近一次輪迴,始於 Java。」
Java 是 Sun 公司開發的新一代程式語言,旨在異構網絡環境中實現「一次編寫,到處運行」。無論何種瀏覽器、計算機、作業系統,只要支援 Java,即可呈現生動的網頁應用。它徹底改變了軟體開發模式,自 PC 機以來引發又一場技術革命。
Gosling 為實現平台無關性,先嘗試改寫 C 編譯器,發現無法滿足需求,遂於 1991 年 6 月著手開發新語言。辦公室窗外一棵老橡樹啟發了代號 Oak(後因商標衝突改名 Java,取自太平洋產咖啡島嶼名)。
Gosling 採用 虛擬機器碼 技術:Java 編譯產生位元碼,運行於各平台專屬的解釋器(JVM)之上。此設計靈感源自 NeWS 系統——用 PostScript 描述介面,不同顯示器配不同解釋器,保證可移植性。
Patrick Naughton(OpenWindows 專案負責人)加入後進度大幅加速。17 個月內,由 13 人完成了通常需 75 人 3 年才能交付的系統:包含作業系統、語言、使用者介面、硬體平台、三塊專用晶片。內部展示引起 Scott McNealy 與 Bill Joy 高度關注,但商業前景仍未明朗。
IBM、Apple、DEC、Adobe、SGI、HP、Oracle、東芝、Netscape、Microsoft 等大廠紛紛購買授權。Microsoft 更在 IE 3.0 內建 Java 支援。Borland (Latte)、Metrowerks、Natural Intelligence、Sun (Java Workshop) 等推出開發工具;Illustra、Sybase、Versant、Oracle 開發支援 HTML/Java 的 CGI。
每個 HomePage 實質為多媒體應用,以 Java 開發,運行於異構機器、甚至冰箱、烤麵包機、防盜設備中。透過 TCP/IP 交換訊息與程式碼。或許有一天,我們在瀏覽器查看冰箱溫度、給烤麵包機發郵件。
| 時代 | 交換單元 | 特徵 |
|---|---|---|
| 單機時代 | 共享記憶體中的變量 | 進程間直接交換 |
| 網絡時代 | 無格式二進制字符流 | 語義由雙方協議維護 |
| Java 時代 | Applet(可執行對象) | 攜帶狀態與行為,可移動、可執行 |
| 未來 | Agent(智能代理) | 具備智能的信息交換高級階段 |