Java的十大事件


1990-1994:Java緣起

Larry Wall說,優秀程序員應有的三個特點:懶惰、急躁和傲慢。Java就是誕生在一羣懶惰、急躁而傲慢的程序天才之中。
1990年12月,Sun的工程師Patrick Naughton被當時糟糕的Sun C++工具折磨的快瘋了。他大聲抱怨,並威脅要離開Sun轉投當時在Steve Jobs領導之下的NeXT公司。領導層爲了留住他,給他一個機會,啓動了一個叫做Stealth(祕密行動)的項目。隨着James Gosling等人的加入,這個項目更名爲Green。其目標是使用C++爲嵌入式設備開發一種新的基礎平臺技術,James Gosling本人負責開發一個SGML編輯器。正如人們事後分析的那樣,這位天才的程序員太懶惰,所以沒有把C++學好,開發中碰了一頭包;太急躁——所以不願意停下來讀讀Scott Meyers的新書《Effective C++》;太傲慢——所以輕易地決定開發一中新的編程語言。他把這種語言命名爲C++++--,意思是C++“加上一些好東西,減去一些壞東西”。顯然這個糟糕的名字不可能長命百歲,很快這種頗受同伴喜愛的小語言被命名爲Oak。
到了1992年9月,Oak語言連同Green OS和一些應用程序一起發佈在稱做Start 7的小設備上,從而使之有了第一次精彩的亮相。隨後,Sun開了一家名爲FirstPerson的公司,整個團隊被轉移到這家公司裏研發機頂盒,以投標時代華納公司的一個項目。這幫天才被技術狂熱所鼓舞,開發出了一個高交互性的設備,結果沒想到時代華納公司和有線電視服務商並不願意用戶擁有那麼大的控制權,從而在競標之戰中敗給了SGI。Oak的鋒芒之銳,竟然把客戶都給嚇懵了。Sun沮喪地關閉了FirstPerson,召回了整個團隊。事實證明,傳統行業中那些腦滿肥腸的保守主義者是腐朽沒落的。回去!回到激情澎湃的IT產業,抓住互聯網的大潮,這纔是出路!1994年,Oak被命名爲Java,針對互聯網的新一輪開發如火如荼,一切已經就緒,熔岩在地下奔流,火山即將噴發。


1995: Java香濃世界


1995年,Sun正式對外公佈了Java,並且發佈了JDK 1.0。這種外形酷似C++,卻包含一顆Smalltalk般純潔的面向對象之心的全新程序設計語言及其平臺,幾乎在一夜之間就成爲軟件產業的新寵兒。Java當時僅僅被用來爲網站製作一些動態應用,諸如動畫圖片之類,但這仍然引起了很多Web開發者們的注意,他們非常渴望有一種安全的語言,可以在靜態的HTML網頁上製作動畫圖片。Sun最終把Java集成到NetScape瀏覽器。同時因爲它具有“只寫一次,隨處運行”的特性,而引起了很多開發者的注意,他們可以再也不用爲了使程序能夠在不同型號的硬件上運行而耗費大量的時間來編譯代碼了。
當時的Web瀏覽器的出現也爲Java的出現起到了很好的推動作用,通過Java和Web瀏覽器的結合,人們似乎看到了什麼,有人甚至預言PC將在一兩年內退出歷史的舞臺,取而代之的是基於Java的瀏覽器應用程序,通過網絡計算設備來進行應用。Java的出現爲當時的軟件產業帶來了無限的遐想。


1996:Java大躍進,盟主地位就此定

SUN在1996年一開始首先成立了JavaSoft組織,並在1月23日正式發佈自己的Java 1.0,作爲20世紀業界出現的最重要的技術之一,Java引起了編程世界的革命。直到現在,Java仍然是互聯網上最流行的語言。
在Sun正式發佈Java 1.0之後,Java這門新生的語言就擁有了自己的會議——JavaOne,這次會議初試啼音就吸引了600多名參與者。除了擁有這麼多的積極參與者來進行Java的開發之外,各大知名公司也紛紛向Sun申請Java的許可。一時間,NetScape、惠普、IBM、Oralce、Sybase甚至當時剛推出Windows 95的微軟都是Java的追隨者。
Java的應用就像是世界上的頂級玩家們組成的一個公開聯盟,告訴全世界我們大家就是都在用着Java。也正是因爲如此,Java也找到了自己的歸宿。現在的J2EE已經成爲中大型企業級應用的標準,成爲承接數據庫和Web之間的一個重要橋樑。
當年Java的機會實在太多了,以至於很難知道到底該做什麼。最終Java在應用服務器市場獲得了難以取代的地位,也確定了J2EE的發展方向,並且仍將延續下去。


1997-2001:  微軟與Sun的Java官司


Java誕生的1995年,正是微軟在軟件產業地位達到巔峯的時代,Windows 95發佈時的風光場面給人們留下的深刻印象至今難忘。儘管如此,作爲最卓越的技術領袖,比爾?蓋茨仍然敏銳地注意到Java。當他了解了Java的一些細節之後,給予了這樣的評價:“Java是很長時間以來最優秀的程序設計語言。”基於此,微軟於1996年3月申請並獲得了Java許可證。微軟對於Java的這一熱情態度在當時大大提高了人們對Java的興趣和信心,但也有不少人擔心微軟會依靠自己強大的影響力在標準之外另立標準,從而破壞Java的純潔性。
果然,從1997年發佈Visual J++的第一個版本開始,微軟就開始在Java中摻入自己的私有擴展。這毫無疑問引起Sun的高度重視。1997年10月,Sun向美國加州地方法院起訴微軟公司違反兩公司就微軟使用Java技術所簽定的合同,指控微軟公司在自己的Java產品中做了“不恰當的修改”,違反了合同中承諾向用戶提供Java兼容產品的條款。這一官司曠日持久,直到2001年1月雙方達成和解,微軟將繼續提供採用Sun開發的Java技術的現有產品(包括測試版)。不過,Sun有限制地僅對包括Java 1.1.4的微軟產品提供許可。到了2001年7月,微軟公佈新版的Windows XP將不再支持Sun的JVM,並且推出了.NET平臺與Java分庭抗禮。
現在回過頭去看,當時的這一場官司對Java世界產生了深遠的影響。如果沒有這一場官司,也許很多Java程序員都在使用Visual J++,基於WFC開發Windows客戶端程序,同時不得不面對被兩個不同的事實標準所分裂的Java世界。


1998:Java 2平臺發佈

1998年,Java 2平臺正式發佈。經過了三年時間的發展、熱熱鬧鬧的攻關宣傳、紅紅火火的衆廠商的熱情參與,Sun終於知道Java適合幹什麼了。對比Java剛發明時的技術定位,與Java的戲劇性觸“網”的那段歷史,Java 2平臺的發佈可真算得上是有的放矢了。根據官方的文檔,Java 2是Sun意識到“one size doesn’t fit all”之後,把最初的Java技術打包成三個版本的產物,也就是著名的J2ME、J2SE、J2EE。
之所以說Java自從Java 2平臺發佈之後,進入了現代。那是因爲之前的歷史怎麼看來都和現在程序員日常開發使用的技術無什麼關係,比如Applet,已經很少有人使用了。Java 2之後的歷史就不一樣了,至少人們在推崇輕量級開發,猛批EJB時還不時會引用J2EE這個詞是如何誕生的。而Java 2的三大版本中,除了J2EE得到了長足發展和廣泛使用之外,J2ME也在手機市場上取得了遍地開花的結果。相較之下,J2SE難免落寞,只剩SWT這個血統不純的傢伙在Rich Client迴歸的時代吸引着人們的眼球了。無論今天看來當時的Java 2有多麼的不成熟,至少經過市場和時間的檢驗,Java 2規劃出來的三大方向把Java技術指向了光明的方向是勿庸置疑的。


1998:JCP成立並正式運作,
Java開源社羣開始蓬勃發展


1998年,JCP組織成立,並且開始把握Java的發展方向。JCP組織的開放性,不但使得所有對Java感興趣的商業公司可以參與Java的發展,更重要的是JCP允許個人、非盈利組織、學校等加入,這就給Java帶來了巨大的活力。隨之興起的Java開源運動的最大貢獻是實現和鼓勵了知識共享,在衆多熱情的開源程序員們的努力和分享下,很多原先只被商業公司掌握的技術、思想和產品可以被所有需要的開發人員免費或者以較低的價格獲得使用權, 並通過開放源代碼更容易的獲得反饋和改進意見從而進一步演化發展。我們知道,所謂知識不是孤立發展認知,而是人們的經驗,認識是思考交流和積累的產物。而開源運動所帶來的開放、反饋、交流的風氣正是符合人類社會知識形成和發展的規律。
開源運動起源於西方的發達國家,有其現實背景和文化根源。1990年代可以說是IT產業的一個黃金時代。信息時代的興起對IT人員,特別是軟件人員有着巨大的需求。而軟件開發又是一種類似藝術創作的腦力活動,和所有的藝術家、作家們一樣,在作品打上自己的印記並流傳在世界上是每一個創作人員的夢想。互聯網時代下的高收入的舒適生活,早九晚五的編寫公司的代碼並不能滿足很多有激情的軟件開發人員的夢想,再加上西方傳統的基督教文化中十分推崇的分享和交流,開源的出現和興起也就水到渠成了。今天,開源運動已經不僅僅是一些個人天才程序員們的遊樂園地,而是發展成爲一項開源軟件產業。


1998:WebLogic打開J2EE的魔匣


Java語言的出現使得互聯網絡有了良好的交互性能,但這些很“酷”的技術僅被人們認爲是一些小花招,它還無法消除企業級用戶對它的懷疑。1998年,BEA公司宣佈收購WebLogic公司,並接着推出由Sun公司第一個授權使用J2EE許可證的WebLogic Server應用服務器,這個Java版的AppServer一推出就引起業界極大的興趣。WebLoigc Server以其對標準的支持、強悍的運算能力和安全的架構設計等特性也很快征服了那些懷疑J2EE應用的人們。推出市場後不到一年,WebLogic Server就成爲業內第一Java應用服務器。
這裏我們援引一些當時著名諮詢公司的調查數據來說明問題,“在IDC的報告中,BEA在應用服務器和交易服務器領域市場份額第一;在Gartner的報告中,BEA WebLogic Server擁有業內最廣泛的EJB應用安裝基礎;在Giga Group的報告中,BEA WebLogic Server市場份額佔32%”。
因爲應用服務器市場極大的發展潛力,在WebLogic Server之後,其它的很多公司也推出了自己的AppServer,如IBM的WebSphere、Sun公司的iPlanet等,逐漸地應用服務器取代了傳統意義上的各類中間件,成爲企業應用的基礎平臺。應用服務器的出現使得Java有了真正意義上的發展。


2002-2004: Sun與微軟的法律碰撞最終以喜劇收場


2003年4月2 日,Sun與微軟達成16億美元的法律和解。如果不是晚了一天,許多人會以爲這是一個在4月1日愚人節開的玩笑。儘管當時所有人都像是看到“太陽從西邊出來了”那樣張大了嘴巴,但這的確是事實。
根據兩家公司達成的版權協議,雙方會爲採用對方的技術而支付專利費用,微軟向Sun提前支付3.5億美元使用費,Sun則承諾,如果Sun集成微軟的某些技術,也會向微軟付款。
毫無疑問,“私下了結”的方式對雙方而言都是最好的結果。就在協議簽署的當天,在美國舊金山由Sun和微軟爲“拋棄十年恩怨、攜手合作“舉行的新聞發佈會上,儘管比爾?蓋茨沒有到場,但這並沒有防礙現場看起來異常輕鬆的氣氛。麥克尼利和鮑爾默各自穿了一件密歇根州底特律“Red Wings”曲棍球隊的運動服,並談及了一起在哈佛大學讀書的經歷,麥克尼利還說:“當時我們兩人是非常要好的朋友,當然我們也有吵架的時候。”人與人當然可能成爲終生的知己,但是公司與公司之間有的只能是利益上的分分合合。


2000-2004: JBoss和Eclipse
——Java開源軟件的王者


Java和開源幾乎就是天生的一對,這可以從無比興盛繁榮的Java開源軟件社區得到佐證。目前最有影響力的Java開源軟件項目,要數JBoss和Eclipse。可以說,幾乎所有的Java開發人員都獲多或少的聽到過或接觸和使用過它們。前者是目前最優秀、應用最爲廣泛的企業級開源J2EE應用服務器,後者是功能完全可以替代商業產品的Java IDE。二者的覆蓋功能之全、支持工具之廣、子項目之多,幾乎可以僅憑藉它倆來完成企業應用的開發構建到部署實施的全過程,而軟件開發者和客戶也都可以最大程度上享受高質量,高可靠Java開源軟件所帶來的低成本優勢。
JBoss和Eclipse的巨大成功,幾乎令各自領域的商用競爭者抓狂,其中BEA的WebLogic和IBM的WebSphere在商業利潤上受到JBoss的巨大侵蝕,而Borland的JBuilder、JetBrains的IDEA等諸多優秀的商用開發工具也不得不面對Eclipse獨大的現實。JBoss的CEO兼創始人 Marc Fleury曾直言不諱地表示,希望佔據市場主導地位。“我們希望打敗IBM,成爲中間件領域裏最大的廠商。”JBoss在4.0以前還只是以一個Group存在,盈利手段主要靠服務和銷售文檔。但在最近,JBoss已經發展成爲一個有限公司,並吸納多家風險投資,專注於獲取利潤爲目標之一的第二代開源軟件模式(JBoss自己稱爲“Professional Open Source”)的創新和運營。這區別於以理論研究爲愛好的學院型開源或大公司爲基礎的非盈利組織開源,如Linux和Apache。當然JBoss的這種運營方式勢必會導致更多的代碼控制和專有修改權,但按JBoss的說法是這樣更能獲得企業客戶的信賴。JBoss的這種模式是否能獲得成功還要我們拭目以待。
不管JBoss和Eclipse的未來發展如何,JBoss和Eclipse的成功已經讓我們看到了Java開源軟件的威力,祝願它們一路走好。


2004:Java 5.0

2004年9月30日,代號爲“Tiger”,研發歷時近三年的J2SE 5.0發佈正式版本,這是Java平臺歷來發佈版本中改動面波及最大的一次。
縱觀Tiger,“Ease of development”是其核心主題,這一點着重體現於語言特性上的改進,這在很大程度上,簡化了開發人員日常的編程任務,以往一些瑣碎的手工勞動都代之以輕鬆自然,而又安全可靠的自動化實現。其中的註解功能,以及隨之而來的聲明式編程,還對構築於J2SE 5.0之上的J2EE 5.0產生了巨大影響。儘管Tiger在語言特性上做了很大的動作,但作爲Java技術的基礎支撐,這些改動都是深思熟慮的結果。
Tiger發佈至今也有大半年了,那麼Sun又是如何規劃J2SE的未來藍圖的呢?據悉,J2SE的下兩個版本分別是代號爲“Mustang”的J2SE 6.0和代號爲“Dolphin”的J2SE 7.0,預計Mustang將於明年發佈。在吸取了Tiger研發週期過長的教訓之後,Sun副總裁Graham Hamilton表示,Mustang的發佈週期將不會那麼長。並且,Sun還將“Becoming more open” 作爲Mustang的主題之一。未來JCP對Java技術的影響將會愈加深入,而整個研發過程也將會愈加透明。Mustang在正式發佈前的內部版本也會陸續見諸於衆,如此,廣大Java開發者便可以更加及時的瞭解到Java發展的最新情況。在語言層面上的擴展依然會比較謹慎,比如像AOP這樣的當下熱門技術,依然不太可能會見諸其中。據Hamilton所言,一個有可能被引入的語法特性被稱作“friends”import機制,它將使由多個包組成的大型項目變得易於管理。

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