1995年3月23日,San Jose Mercury News登出一篇題為"Why Sun thinks Hot java will give you a lift"的文章,在那篇文章里預言Java技術將是下一個重大事件,這個預言現在看來并不僅僅是商家的宣傳伎倆,雖然文章是當時Sun的公關經理 Lisa Poulson安排撰寫的。 從世人知道Java那一刻起到現在,算起來已經過去整整十年,回顧過去的十年值得總結的東西可以有許多,但在這里筆者只想就Java 開發環境談些個人的想法與朋友們交流一下。
現在的軟件開發人員在整個軟件的開發生命周期里,也許會根據需要使用各式各樣的開發工具來完成相對復雜的開發任務,而在幾十年以前,人們還只是使用文本編輯器、編譯器和Debugger進行開發,對于這個階段的開發環境人們稱之為CLEs(Command Line Environments) 。而當人們發現假如將那些單獨分開的開發工具集成起來就可以有效的提高開發效率時,IDEs(Integrated Development Environments)就出現了。第一個IDEs也許可以追溯到1964年的Dartmouth Basic,盡管這有爭議,它是作為Dartmouth Time Sharing System的一部分,在John Kemeny 和 Thomas Kurtz指導下建立起來的,這套系統一直使用到1999年。盡管這40多年以來,開發人員的開發環境幾經變化、不斷進步,從早期的集成開發環境 IDEs到擴展開發環境XDEs(eXtended Development Environments)再到協同開發環境CDEs(Collaborative Development Environments),歷經了幾個不同的階段,但開發人員使用開發環境的目的始終就是一個:提高開發效率。Java的出現盡管只有十年,但其開發環境也大至經歷了從CLEs到IDEs再到XDEs這三個階段,現在即將進入CDEs階段。在上述Java開發環境發展過程中,有許多值得我們大家關注的地方。
Java開發環境的歷史回顧
縱觀過去十年Java開發環境的發展,大致可以粗略的劃分為如下幾個階段:
1995 命令行開發環境CLEs 1996 ? 2000 集成開發環境IDEs 2001 ? 2004 擴展開發環境XDEs 2005 - 協同開發環境CDEs 1995年,不平凡的一年,這一年Java 獲得了成功??闪钊藢擂蔚氖窃?995年并沒有一個令人滿足的Java開發環境,開發人員在進行Java編程時,大多使用文本編輯器編輯源程序,比如,Emacs、Vi、Notepad 等,然后再使用命令行的方式進行編譯處理。那時的Java開發環境還處于CLEs時代,開發效率非常低,這不能不說是Sun的一個失誤,但也預示著在Java開發工具上會有一番激烈的競爭。與Java世界即將開始的開發工具大戰不同,在Smalltalk世界里勝敗結果似乎已經明朗,IBM的 Visual Age for Smalltalk、 ParcPlace的ObjectWorks和Digitalk的Visual Smalltalk三足鼎立的格局那時已經被打破,IBM的Visual Age for Smalltalk所占市場分額越來越大,而當時IBM進入Smalltalk市場僅有兩年多的時間。IBM之所以在很短的時間超越老牌的 Smalltalk 廠商ParcPlace和Digitalk,其中一個重要原因是IBM直接將其產品委托給一家由軟件精英組成的公司進行開發,這家公司就是由軟件開發大師級的人物Dave Thomas( Bedarra-Dave)創建的OTI( Object Technology International)公司。IBM在1993年進入Smalltalk市場的第一個產品ENVY/400就是OTI為其開發的,而其后包括 Visual Age for Smalltalk在內的多種產品開發OTI都參與了。為了抗衡IBM,ParcPlace和Digitalk兩家公司在Java誕生的那一年進行了合并,成立了名為ParcPlace-Digitalc的公司,但事后再看這次合并,不過是徒勞之舉罷了?,F在各廠家的Smalltalk 開發環境中都或多或少的內置了ENVY,而隨著IBM進軍Java開發工具市場,ENVY的相關技術也被從Smalltalk世界帶入到Java開發環境中。
1995年也是Smalltalk作為第5代編程語言從 Xerox Palo Alto研究中心走向市場的10周年,Dave Thomas為此寫了一篇題為"Ubiquitous applications:Embedded Systems to Mainframe"的論文,作為Smalltalk市場化10周年的總結,文中介紹了Smalltalk是如何利用虛擬機實現從嵌入式到大型機廣泛應用開發的,而那時Java世界的人們還在為Java虛擬機的拙劣性能而苦惱,那時也許沒有人會想到現在Java的普及程度早已超越了Smalltalk。
1997年,由于微軟壟斷案,使得微軟在Java開發環境上的努力受到了限制,Visual Cafe由于界面直觀易用,可以很輕易地連接各種數據源等功能再次受到開發人員的歡迎。這一年IBM發布Visualage for Java,它是用Smalltalk編寫的吸收了許多ENVY的設計思想,比如,Visualage for Java是面向代碼庫的開發環境,它提供代碼庫和項目治理以便于開發團隊在 C/S環境下進行項目開發。但由于大多數Java開發人員比較熟悉面向文件的開發環境,還不太習慣面向代碼庫的開發,再加上Visalage for Java對系統資源的要求比較高等因素,使得Visualage for Java一開始未被Java開發人員所認可。進入討論組討論。