與Java相關的四十個名字

 與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機制,它將使由多個包組成的大型項目變得易於管理。

 

 

十大人物

James Gosling : Java之父
文/陶文

作爲Java之父,James Gosling的名字可謂是耳熟能詳。當人們評論一種編程語言時,總喜歡捎帶着把下蛋的母雞一起帶上。Java做爲中國的編程語言學習者餐桌上有限的那麼幾樣餐點中的流行款式,自然是讓James Gosling風光不已。雖然James Gosling現在已經不是領導Java發展潮流的領軍人物了,做爲Sun的開發者產品組的CTO,怎麼算來也是身居高位了,俗事纏身吧,但是這並不妨礙其對於Java一如既往的愛護,表達着各式各樣鮮明的觀點,引發一場又一場的爭論。
James Gosling是很愛Java的——是啊,哪有當父母的不愛自己的孩子的呢。James Gosling也是很愛Sun的——是啊,哪有當領導的不愛自己的公司的呢。於是我們在批評.NET的安全性的隊伍前頭,在褒揚Java性能的隊伍前頭,在抨擊SWT開倒車的隊伍前頭,在給NetBeans大唱讚歌的隊伍前頭,我們都看到了James Gosling的身影。無論對錯、偏見或者固執,至少說明了Gosling的鮮明個性絲毫沒有受到年齡的影響。也許也只有這種天才而偏執的人物才能創造出Java這般偉大的語言來吧。
 

Bill Joy : 軟件業的愛迪生
文/徐昊

Joy生於1954年,1982年與Vinod Khosla, Scott McNealy和Andy Bechtolsheim一起創建了Sun Microsystems,並從那時起擔任首席科學家,直到2003年離開。他是一位令人崇敬的軟件天才,他在軟件和硬件的歷史上留下了無數令人仰止的傳奇。
在上個世紀80年代早期,DARPA與BBN達成協議,準備將Vinton Cerf和Bob Kahn設計的TCP/IP協議添加到Berkeley UNIX中。Bill Joy被委派來完成這項任務,然而他卻拒絕將BBN的TCP/IP協議棧添加到BSD中,因爲在他的眼中BBN的TCP/IP實現還遠不夠好,於是他就寫了一個高性能的TCP/IP協議棧。John Gage回憶道,“BBN和DARPA簽署了鉅額合同來實現TCP/IP協議,然而他們的員工所編寫的代碼遠沒有一個研究生所做的好。於是他們邀請Bill Joy參加他們的一個會議,這位研究生穿着一件T-Shirt就出現了,他們詢問他,‘你是如何做到的呢?’Bill回答說,‘這是非常簡單的一件事,你讀一下協議然後就可以編碼了’”。除了TCP/IP協議,基於分頁的虛擬內存系統最早也是由Bill Joy添加到Berkeley UNIX內核當中的。同時他還是vi、csh、早期Pascal編譯器的作者。
關於Bill Joy驚人的軟件才能流傳最廣的一個傳奇是,據說他在上研究生的時候,想看看自己能不能寫一個操作系統出來,於是就在三天裏寫了一個非常簡陋,但是可以使用的Unix系統, 傳說就是BSD的前身。雖然如此誇張的才情令人難以置信,但是考慮到主角是Bill Joy,還是有一定的可信度的。Bill Joy碩士畢業之後,決定到工業界發展,於是就到了當時只有一間辦公室的Sun, 他作爲主要設計者參與了SPARC微處理器的設計,負責設計最爲關鍵的一部分電路。這樣兼精軟硬件的天才實在是讓人不得不佩服啊。1995年,Sun發佈了轟動世界的Java語言。當然,Bill Joy對Java也作出了不少的貢獻,首先是JINI——一種針對分佈式服務的基礎連接技術。任何可以內嵌JVM的電子設備都可以通過JINI相互連接;JXTA是基於Java的P2P協議,允許互聯網上的軟件進行點對點交流和協作。
這個其貌不揚的瘦高個,有着凌亂的亞麻色頭髮,被《財富》雜誌譽爲“網絡時代的愛迪生”的技術狂人,在短短的二十年間,創造了無數令人心動的軟件。在MIT的BBS上曾有一個帖子,說微軟電話面試有一道題,問“Who do you think is the best coder, and why?”雖然回覆的帖子中大家都聲明列舉的best coder排名不分先後,然而大多數人仍把Bill Joy列在第一位,或許可以從一個側面驗證Bill Joy在廣大Programmer心目中的地位吧。


Joshua Bloch :  Java 2 元勳
文/莫映

早在1996年,適逢Java剛剛嶄露頭角,年內好事連連。先是1月份發佈JDK 1.0,然後是5月底在舊金山召開首屆JavaOne大會,年末又是JDK 1.1緊跟其後。正是在Java技術如火如荼、大展拳腳的背景之下,Joshua Bloch來到了Sun,開始了他帶領Java社區步入“迦南美地”的漫長曆程。
很快,他被從安全組調入核心平臺組,從事底層API設計。至此以後,每逢JDK的重大版本發佈,總能在其中見到Joshua的“妙筆”。JDK 1.1中的java.math、1.4中的assertions,還有大家所熟識的Collections Framework皆是Joshua一手打造。其中的Collections Framework還獲得了當年的Jolt大獎。到了J2SE 5.0研發階段,身爲平臺組構架師的Joshua接掌了Tiger大旗,其核心地位已然無人可以替代。作爲Tiger的代言人和領路人,沒有誰比Joshua更清楚Tiger。相信大家一定還記得Joshua當年仿效英國詩人William Blake所做的詠Tiger詩八首,優雅的筆調,透出大師深厚底蘊的同時,也道出了Tiger的幾大重要特性,這些特性是自JDK 1.1引入Inner Class以來,Java最大的語法改進。
Java風雨十年,從JDK 1.1到J2SE 5.0,Joshua實在功不可沒。難怪有人戲言,假如將James Gosling比作Java之父,那麼Joshua就是一手將Java “哺育”成人的Java之母。Joshua對Java的貢獻還不止於JDK,提起他的大作《Effective Java》(Addison Wesley, 2001),相信Java粉絲們一定耳熟能詳。該書榮膺2002年度Jolt大獎,且備受James Gosling推崇。書中57條頗具實用價值的經驗規則,來自Joshua多年來在JDK開發工作中,尤其是Collections Framework設計中的實踐心得,各個有理有據,剖析深入,也足見其深厚功力。該書對Java社羣的影響,猶如C++社羣中的《Effective C++》。Joshua對JCP的貢獻也不小。他是JSR201和JSR175的領導者,前者包含了Tiger四大語言特性,後者則爲Java提供了元數據支持。此外,他還是JSR166的發起人之一(該JSR由Doug Lea領導),並且是許多其他JSR的參與者。Joshua目前是JCP爲數不多的幾個執行委員會成員之一。
Joshua Bloch給人的印象是謙遜平和,行事低調而不喜拋頭露面,一個典型的技術人員和實幹家。不過即便如此,也絲毫不會減弱他對Java技術的卓越貢獻和對Java社區的絕對影響力。有人說,如果他能更彰顯一些,就很有可能成爲Java開發者中的領軍人物,就有如Don Box之於微軟社羣。
2004年7月初,就在Tiger發佈在即之時,就在Jusha Bloch剛剛榮獲Sun“傑出工程師(Distinguished Engineer)”的稱號之時,他突然離開Sun而去了正值發展態勢迅猛的Google。當他離開Sun的消息在TSS發佈之後,衆多擁躉表達了懷念與不捨之情。一年過去了,我們還沒有獲知Joshua的任何近聞,似乎又是他行事低調的一貫作風所致,不知他在Google狀況如何。希望Joshua依然能繼續“摩西未盡的事業”,以他的影響力推動Java社羣繼續前行。據稱,《Effective Java》的下一版會加入Java 5.0的部分,讓我們翹首以待吧。


Bruce Eckel : 功勳卓著的機會主義分子
文/孟巖

Bruce Eckel原本是一位普通的彙編程序員。不知道是什麼因緣際會,他轉行去寫計算機技術圖書,卻在此大紅大紫。他成功的祕訣不外乎兩點:超人的表達能力和捕捉機會的能力。他最早的一本書是1990年代初期的《C++ Inside & Out》,隨後,在1995年他寫出了改變自己命運的《Thinking in C++》。如果說這本書充分表現了他作爲優秀技術作家的一面,那麼隨後他寫作《Thinking in Java》並因此步入頂級技術作家行列,則體現了他作爲優秀的機會主義分子善於捕捉機會的另一面。寫作中擅長舉淺顯直接的小例子來說明問題,語言生動,娓娓道來,特別適合於缺乏實踐經驗的初學者。因此《Thinking in Java》儼然成爲天字第一號的Java教科書,對Java的普及與發展發揮着不可忽略的作用。不過公允地說,Bruce Eckel的書欠深刻。比如在“Thinking in…”系列中對設計模式的解說就有失大師水準。這一方面是因爲書的定位非常清晰,另一方面也是因爲Bruce太過分心趕潮流,未能深入之故。TIJ之後,他預言Python將火,就匆匆跑去寫了半本《Thinking in Python》。後來Python並未如期而旺,於是他也就把書稿撂在那裏不過問了,機會主義的一面暴露無遺。我們也可以善意的猜測一下,他的下一個投機對象會是什麼呢?Ruby?.NET?MDA?總之,是什麼我都不奇怪。


Rickard Oberg :J2EE奇才
文/熊節

Oberg的作品很多,流行的代碼生成工具XDoclet和MVC框架WebWork都出自他的手筆。這兩個框架有一個共同的特點,即它們的功能雖然簡單,但設計都非常優雅靈活,能夠很方便地擴展新功能甚至移植到新環境下使用。優雅的設計源自Oberg的過人才華,簡單的功能則折射出他玩世不恭的人生態度。正是這兩種特質的融合,才造就了這個不世出的奇才。
1999年,JDK 1.3發佈,其中帶來了一個重要的新特性:動態代理(Dynamic Proxy)。當所有人都還在對這項新技術的用途感到迷惑時,Oberg發現用它便可以輕鬆攻克EJB容器實現中的一些難關。這一發現的產物就是一本《Mastering RMI》,以及大名鼎鼎的JBoss應用服務器。但Oberg很快又讓世人見識了他的玩世不恭。由於和總經理Marc Fleury在經營理念上不合,Oberg抱怨“法國的天空總讓我感到壓抑”,甩手離開了自己一手打造的JBoss。此後的幾年裏,他和老友Hani Suleiman不斷地對JBoss的“專業開源”模式和Marc Fleury的商人味道冷嘲熱諷,讓衆人爲他的孩子氣扼腕嘆息。
2002年10月,微軟推出Petstore示例應用的.NET版本,並宣稱其性能比Java Petstore高出數倍。正是Oberg深入分析這個示例應用的源代碼,在第一時間指出它大量運用了SQL Server專有的特性,性能對比根本不具參考價值。後來Oberg又先後關注了AOP和IoC容器,兩者都成爲了J2EE架構的新寵。
 

Doug Lea : 世界上對Java影響力最大的個人
文/KIT

如果IT的歷史,是以人爲主體串接起來的話,那麼肯定少不了Doug Lea。這個鼻樑掛着眼鏡,留着德王威廉二世的鬍子,臉上永遠掛着謙遜靦腆笑容,服務於紐約州立大學Oswego分校計算器科學系的老大爺。
說他是這個世界上對Java影響力最大的個人,一點也不爲過。因爲兩次Java歷史上的大變革,他都間接或直接的扮演了舉足輕重的腳色。一次是由JDK 1.1到JDK 1.2,JDK1.2很重要的一項新創舉就是Collections,其Collection的概念可以說承襲自Doug Lea於1995年發佈的第一個被廣泛應用的collections;一次是2004年所推出的Tiger。Tiger廣納了15項JSRs(Java Specification Requests)的語法及標準,其中一項便是JSR-166。JSR-166是來自於Doug編寫的util.concurrent包。
值得一提的是: Doug Lea也是JCP (Java小區項目)中的一員。
Doug是一個無私的人,他深知分享知識和分享蘋果是不一樣的,蘋果會越分越少,而自己的知識並不會因爲給了別人就減少了,知識的分享更能激盪出不一樣的火花。《Effective JAVA》這本Java經典之作的作者Joshua Blosh便在書中特別感謝Doug是此書中許多構想的共鳴板,感謝Doug大方分享豐富而又寶貴的知識。這位併發編程的大師級人物的下一步,將會帶給Java怎樣的衝擊,不禁令人屏息以待。


Scott McNealy :SUN十年來的掌舵者
文/KIT

McNealy,Sun的CEO、總裁兼董事長。他曾經狂傲的說:“摧毀微軟是我們每個人的任務。”這位英勇的硅谷英雄,似乎帶頭起義,試圖組織一個反微軟陣線聯盟,以對抗微軟這股龐大的托拉斯惡勢力。他時常口出驚人之語,在公開場合大肆的批評微軟,並曾經說微軟的.NET是.NOT。
Scott McNealy先後畢業於哈佛大學及史丹佛大學,分別持有經濟學學士學位及企管碩士。1982年MBA畢業的他和三個同學共同合夥創建了Sun,並於1984年成爲Sun的執行官。“要麼吞了別人,不然就被別人吞了”是Scott McNealy的名言錄之一。他擅長以信念帶動員工,鼓舞士氣。極富自信的他,對於認定的事,總是堅持自己的想法,因此有人形容他是一個剛愎自用的決策者。
身爲Sun這艘船的掌舵者,Scott McNealy能夠看多遠,Sun就能走多遠。Scott McNealy認爲將來軟件界是一個只有服務,沒有產品的世代。他希望打造出Sun不是一個純靠硬件賺錢的公司。從Open Source到Open Solaris,Sun希望可以成爲提供整合性解決方案的服務廠商。Solaris 10 + UltraSPARC是否可以像Scott McNealy希望的是下一匹世紀黑馬呢?Sun是否能以股價來證明華爾街分析師及普羅大衆的誹短流長?Scott McNealy是否能帶領着Sun成爲繼微軟之後的下一個巨人,一場場IT界的爭霸戰值得我們拭目以待。


Rod Johnson : 用一本書改變了Java世界的人
文/ 劉鐵鋒

Rod在悉尼大學不僅獲得了計算機學位,同時還獲得了音樂學位。更令人吃驚的是在回到軟件開發領域之前,他還獲得了音樂學的博士學位。有着相當豐富的C/C++技術背景的Rod早在1996年就開始了對Java服務器端技術的研究。他是一個在保險、電子商務和金融行業有着豐富經驗的技術顧問,同時也是JSR-154(Servlet 2.4)和JDO 2.0的規範專家、JCP的積極成員。
真正引起了人們的注意的,是在2002年Rod Johnson根據多年經驗撰寫的《Expert One-on-One J2EE Design and Development》。其中對正統J2EE架構的臃腫、低效的質疑,引發了人們對正統J2EE的反思。這本書也體現了Rod Johnson對技術的態度,技術的選擇應該基於實證或是自身的經驗,而不是任何形式的偶像崇拜或者門戶之見。正是這本書真正地改變了Java世界。基於這本書的代碼,Rod Johnson創建了輕量級的容器Spring。Spring的出現,使得正統J2EE架構一統天下的局面被打破。基於Struts+Hibernate+Spring的J2EE架構也逐漸得到人們的認可,甚至在大型的項目架構中也逐漸開始應用。
Rod Johnson的新作《Expert One-on-one J2EE Development without JEB》則更讓人吃驚,單單“Without EJB”一詞就會讓大多數J2EE架構師大跌眼鏡了。不過Rod Johnson可能僅僅是想通過“Without EJB”一詞表明應該放開門戶之見。這也是Rod Johnson一貫的作風,。也許正是這種思想,促使得Rod Johnson創建了Spring,真正改變了Java世界。

 

Alan Kay :Java的精神先鋒
文/徐昊

Sun的官方Java教材中有一句話,說Java是“C++的語法與Smalltalk語義的結合”。而Smalltalk的創造者就是Alan Kay。
Alan Kay於1970年加入Xerox公司的Palo Alto研究中心。早在70年代初期,Alan Kay等人開發了世界上第二個面嚮對象語言Smalltalk,因此,Alan Kay被譽爲Smalltalk之父。2003年,Alan Key因爲在面向對象程序設計上的傑出貢獻,獲得了有計算機界的諾貝爾獎之稱的ACM Turing Award。
Alan Kay成名於Smapltalk和OOP,而Java雖然在語言上類似於C,但是在語義上非常接近Smalltalk,很多Java中的設計思想在Alan Kay的文獻中找到根源,也有些人將Alan Kay尊爲Java思想的先驅。不過遺憾的是似乎Alan Kay老先生對Java並不買賬,反倒攻擊說Java是存在致命缺陷的編程語言,Java的成功不是由於Java本身的內在價值,而是其商業化的成功。Alan Kay欣賞的是Lisp,他認爲Lisp是軟件的麥克斯韋方程,其中的許多想法是軟件工程和計算機科學的一部分。看來擁有Alan Kay這樣一位重量級的Java先驅仍是我們Java一廂情願的單戀吧。

 

Kent Beck : 領導的敏捷潮
文:劉鐵鋒

Beck全家似乎都瀰漫着技術的味道。生長在硅谷, 有着一個對無線電癡迷的祖父,以及一個電器工程師父親。從小就引導Kent Beck成爲了業餘無線電愛好者。
在俄勒岡州大學讀本科期間,Kent Beck就開始研究起模式。然而在他最終拿到計算機學位之前,他卻是在計算機和音樂中交替學習。似乎Java大師都能夠有這樣的能耐,另一Java大牛Rod Johnson同樣也擁有音樂學的博士學位。
Kent Beck一直倡導軟件開發的模式定義。早在1993年,他就和Grady Booch(UML之父)發起了一個團隊進行這個方面的研究。雖然著有了《Smalltalk Best Practice Patterns》一書,但這可能並不是Kent Beck最大的貢獻。他於1996年在DaimlerChrysler啓動的關於軟件開發的項目,才真正地影響後來的軟件開發。這次的傑作就是XP(極限編程)的方法學。
和軟件開發大師Martin Fowler合著的《Planning Extreme Programming》可謂是關於XP的奠基之作。從此,一系列的作品如《Test Driven Development: By Example》,《Extreme Programming Explained: Embrace Change》讓更多的人領略到了極限編程的精髓,也逐步導致了極限編程的流行。
Kent Beck的貢獻遠不僅如此。對於衆多的Java程序員來說,他和Erich Gamma共同打造的JUnit,意義更加重大。也許正式這個簡單而又強大的工具,讓衆多的程序員更加認可和信賴極限編程,從而引起了Java敏捷開發的狂潮吧。


 十大產品

Sun JDK :Java的基石
文/莫映

衆所周知,流傳於市的JDK不單Sun一家,比如IBM的JDK、BEA的JRocket、GNU的GCJ,以及如Kaffe這樣的開源實現,不一而足。但是,根正苗紅的Sun官方JDK一直以來都是備受矚目的主流,它對Java社區的影響也是舉足輕重。
1996年1月,Sun在成立了JavaSoft部門之後,推出了JDK 1.0,這是Sun JDK(Java Development Kit)的首個正式版本;當年12月,JDK1.1出爐。該版除了對前序版本部分特性做了改進以外,重寫了AWT,採用了新的事件模型。1998年12月,JDK 1.2正式發佈。此時的類庫日臻完善,API已從當初的200個類發展到了1600個類。在1.2版本中引入了用100%純Java代碼寫就的Swing,同時,Sun將Java更名爲Java 2。
1999年,Java 技術形成了J2SE、J2EE和J2ME三大格局。Sun向世人公佈了Java HotSpot性能引擎技術的研究成果。HotSpot旨在進一步改善JVM性能,提高Java ByteCode的產生品質,加快Java應用程序的執行速度。J2SE 1.3發佈於2000年;2002年2月間,J2SE 1.4問世,這是有JCP參與以來首個J2SE的發行版本。2004年9月30日,代號爲“Tiger”的J2SE 5.0終於出籠了,這次發佈被譽爲Java平臺歷來發佈中特性變動最大的一次。包括泛型在內的若干重大語法改進、元數據支持,包括多線程、JDBC在內的多項類庫改進,都令廣大Java程序員激動不已。自此,Sun的官方JDK(J2SE Development Kit)已經步入了一個新的高度。

 

Eclipse :以架構贏天下
文/惡魔

IBM是在2001年以4000萬美元種子基金成立Eclipse聯盟,並且捐贈了不少程序代碼。如今,該組織有91個會員,包含許多全球最大的軟件商。根據Evans Data公司的資料,Eclipse是目前最受歡迎的Java開發工具。
Java廠商若要共同對抗微軟,彼此之間就要有共同的開發工具才行。
在Eclipse平臺上,程序員可使用好幾種不同的語言。在前端方面,用戶可整合多種工具來撰寫Plug-in程序或Unit Test。Eclipse最大的特色就在於其完全開放的體系結構,這代表任何人都可下載並修改程序代碼,給Eclipse寫插件,讓它做任何你能想到的事情,即所謂“Design for everything but nothing in particular”。
Eclipse基金會的架構比較特別,反映出企業現今對於開放原始碼計劃也越來越積極主動。Eclipse不像一般開放源碼軟件容許個人的捐獻程序,該基金會是由廠商主導。不論是董事會成員或者是程序贊助者幾乎都來自於獨立軟件開發商(ISVs)的員工。
Eclipse首席執行官Mike Milinkovich說,這種廠商會員制是特意設計的;他說Eclispe軟件開發快速就是因爲會員制的關係,同時又加上開放源碼開發模式的臨門一腳。這與一般透過標準組織的做法全然不同。 這其實正好驗證了一句老話:“開放即標準”。


JUnit/Ant : 讓Java自動化的絕代雙驕
文/劉鐵鋒

在Java程序員必備的工具中,共 同擁有且交口稱讚的恐怕就非JUnit、Ant莫屬了。一個是單元測試的神兵利器,一個是編譯部署的不二之選,它們讓Java的開發更簡單。
JUnit由XP和TDD的創始人、軟件大師Kent Back以及Eclipse架構師之一、設計模式之父Erich Gamma共同打造。名家的手筆和理念使得JUnit簡單而強大,它將Java程序員代入了測試驅動開發的時代。JUnit連任了2001、2002年“Java World編輯選擇獎”以及2003年“Java World最佳測試工具”和2003年“Java Pro最佳Java測試工具”等衆多獎項,深受Java程序員好評。
Ant是開源項目的典範,它讓IDE的功能更加強大,從Sun的NetBeans到JBuilder,主流的IDE中處處都有它的身影。“Another Neat Tool”原是它的本名,但這已經漸漸不爲人知。它徹底地讓部署自動化,而程序員需要做的僅僅是幾條簡單的配置命令。和JUnit一樣,Ant也榮獲了衆多的殊榮:2003年JavaWorld“最有用的Java社區開發的技術編輯選擇獎”, 2003年Java Pro“最有價值的Java部署技術讀者選擇獎”,2003年“JDJ編輯選擇獎”,也讓Ant受到的多方的認可。
Ant對JUnit的全面集成,則使得一切都變得更加完美。只需簡單地配置,從自動測試到報告生成,從編譯到打包部署均可自動完成。強大的功能,簡單的配置,讓Java程序員高枕無憂。實可謂讓Java自動化的絕代雙驕。

Websphere : 活吞市場的大鯨
文/jini

1999年, IBM與Novell簽訂合作協議,成功地提供電子商務的解決方案給予原先使用NetWare的用戶。同年更是推出了WebSphere Application Server 3.0,並且推出WebSphere Studio與VisualAge for Java讓工程師可以快速開發相關的程序。2001年,IBM更是宣佈將應用服務器、開發工具整合在一起,與DB2、 Tivoli及Lotus結合成爲一套共通解決方案,如今、IBM更是併入了Rational Rose ( UML tools )讓開發流程更是完整化。
Sun在Web Services的策略方面遠遠落後於微軟與IBM, 當他們手拉手在研訂Web Services規範, 加上IBM買硬件送軟件或是買WebSphere送DB2的策略讓企業大佬們紛紛轉向IBM的陣營, Sun才驚覺大勢已去。WebSphere複雜的安裝,深奧的設定,難以理解的出錯訊息不斷地挑戰開發者的耐心與毅力。
IBM如今已經不是將WebSphere定義爲單一產品,它已經是一個平臺的代名詞。它裏面的產品目前包含了應用服務器、商業整合、電子商務、 數據訊息管理、網絡串流、軟件開發流程、系統管理、無線語音等等。非常多樣化,也讓企業界願意相信WebSphere可以帶給他們一套完整的解決方案。同時, IBM也在推廣SOA的概念, 簡單來說, 利用Web Service的耦合性與工作流程的整合, 爲企業內部打造以服務爲導向的架構。
IBM捐獻出Eclipse帶給Java開發人員對IDE的重新掌握。未來是否會捐獻出WebSphere的哪一個部分成爲OpenSources, 或許, 又是改寫Java世界的時刻了。

 

WebLogic : 技術人的最愛
文/jini

1995年, BEA成立了, 初期以Tuxedo數據轉換的產品爲基礎, 成長之迅速是歷年來最強的企業。 1998年, BEA推出以Java爲基礎的網絡解決方案, 提供了完整的中間層架構, 更同時支持EJB 1.0 及微軟的COM組件, 方便的管理接口擄掠了工程師的心。 在IBM和Oracle尚未準備好迎擊的時候, BEA已經席捲企業應用平臺的市場。 WebLogic無論在市場領先度與技術領導性與策略遠觀性都優於當年的所有應用服務器廠商。
如今WebLogic不僅僅是應用平臺服務器的名稱, 而是BEA對於整個企業解決方案的總稱, 無論是WebLogic Portal或是WebLogic Integration配合着Workshop開發環境, 來自微軟的UI開發團隊讓Workshop幾乎達到所見即所得。 接着, 在下一個版本之中, BEA的BeeHive開放源代碼計劃將釋出中間層控件的開發模塊, 並且與Eclipse合作共同打造新一代的開發環境。 如此強而有力的技術支持, 更是讓顧客願意使用WebLogic平臺的最大原因。
代號爲“Diablo”的 WebLogic Server 9.0小惡魔已經出現了, 目前雖然僅僅是BETA版, 以Portlet 方式打造的管理接口與完整且美妙的WebServices支持, 實在很難找到可以挑剔的地方, 雖然去年被IBM的技術性推銷超越了市場佔有率, 不過接下來SOA的平臺競爭現在纔開始, BEA的LOGO也加入“Think liquid”並且推出新的AquaLogic平臺做爲數據服務平臺, 可見, Java的應用服務器的戰爭, 還會繼續進行着。

 

JBuilder : Java開發工具的王者
文/劉鐵鋒

Java的開發工具中,最出名的莫過於Borland公司的JBuilder了。對於一些沒有弄清楚開發工具與JDK的區別的Java入門者來說,JBuilder就如同Visual C++之於C++,以爲JBuilder就是Java的全部。比起捆綁在服務器上銷售的JDeveloper,JBuilder應該是唯一的僅靠自身的實力而佔領了大部分市場的Java商用開發工具了。而JBuilder作爲Java 開發工具的王者,其奪冠之路並非一帆風順。直到Java的天才Blake Stone成爲JBuilder的Architect之後,JBuilder 2.0以及3.0才逐漸推出。2000年3月14日,JBuilder 3.5的推出別具意義,它成爲了業界第一個用純Java打造的開發工具,也風靡了整個Java開發工具市場。在同年11月份推出的JBuilder 4.0乘勝追擊,衝破了50%的市場佔有率,成爲了真正Java開發工具的王者。
Borland以每半年左右推出一個新版本的速度,讓衆多的對手倒在了沙場。而Microsoft因爲與Sun的官司,也使得一個強大的對手退出了戰爭。2001年,加入了對企業協作支持的JBuilder 5以及強化了團隊開發工具的JBuilder 6打敗了最後一個對手Visual Age For Java。2002年JBuilder 7推出之後,再也沒有其他廠商與JBuilder競爭。
孤獨的王者並沒有停下腳步,在2003年到2005年間,JBuilder也仍然延續了其半年一個版本的速度,推出了8、9、10、2005四個版本。強大的功能以及持續的改進,也讓Java程序員多了一分對能夠在開發工具市場上與Microsoft血拼十數年的Borland的敬仰。

 

Oracle : Java人永遠的情結
文/熊節

在林林總總的數據庫之中,有一種尤其令人又愛又恨、印象深刻,那就是關係型數據庫市場的“大佬”——Oracle。
從公司的角度,Oracle和Sun有着諸多相似之處,例如:兩家公司都擁有一位個性鮮明的CEO。早在Java誕生之初的1995年,Oracle就緊隨NetScape從而第二個獲得了Java許可證。從那以後,Oracle對Java的鼎力支持是Java能夠在企業應用領域大獲成功的重要原因之一。
所有J2EE程序員都知道,Oracle的JDBC驅動雖然與Oracle數據庫配合良好,但在不少地方使用了專有特性。其中最爲著名的就是“CLOB/BLOB問題”,諸如此類的問題給開發者帶來了很多麻煩。爲了同時兼顧不同的數據庫,他們不得不經常把自己的一個DAO(數據訪問對象)寫成兩份版本:針對Oracle的版本和針對其他數據庫的版本。有不少人爲了開發便利,捨棄了數據庫之間的可移植性,將自己的產品綁定在Oracle的專有特性上。
Oracle提供的Java開發工具也與此大同小異。不管是數據庫內置的Java支持還是JDeveloper IDE, Oracle的Java工具都和Oracle數據庫有着千絲萬縷的聯繫。看起來,只要Oracle還是數據庫市場上的“頭牌”,瞭解、學習Oracle的專有特性,周旋於Oracle特有的問題和解決方案之中,就將仍舊是J2EE程序員在數據庫基礎和SQL之外的必修功課。對Oracle的愛與恨,也將仍舊是Java人心頭一個難解的情結。

 

Struts、Hibernate : 讓官方框架相形失色的產品
文/劉鐵鋒

好的框架能夠讓項目的開發和維護更加便捷和順利。相比Sun官方標準的遲鈍以及固執,開源框架也更得到Java程序員的共鳴。Struts以及Hibernate就是這樣一類產品,它們簡單、優雅,更讓官方的產品相形失色。
談起Struts,不可避免地就要提及MVC(Model-View-Controller)的理念。而準確地講,MVC的提出卻最早源於JSP的標準。在1998年10月7號,Sun發佈的JSP的0.92的規範中提出的Model 2就是MVC的原型。在1999年12月Java World的大會中,Gavind Seshadri的文章最早闡述了Model 2就是一種MVC的架構,同時也提及了MVC架構是一種最好的開發方法。2000年3月,由Craig McClanahan發佈的Struts成爲了最早支持MVC的框架。Struts在設計上雖然存在一些詬病,但是不可否認的是,它使得Java Web應用的開發更加簡潔和清晰,也讓更多的程序員愛上了Java,並開始遺忘官方的JSP。時至今日,比起如WebWork、Tapestry以及Sun官方的JSF,Struts或多或少存在些不足,但是衆多成功項目的實施,仍然使其牢牢佔據的Java Web應用框架的首位。
Hibernate則在某種程度上改變了人們對構建J2EE的思路。相比其EJB的Entity Bean的映射技術,Hibernate則顯得更加簡潔和強大。五分鐘就能把Hibernate跑起來,讓更多的Java程序員享受到了開發的樂趣。第15屆Jolt大獎中,最優秀數據庫、框架以及組件的獎項中,Hibernate當仁不讓獲得頭籌;不僅如此, Hibernate甚至還影響了官方的標準。在衆多Java程序員翹首以待的EJB 3.0的規範中,Hibernate得到了支持。
Java開源的繁榮不僅讓衆多Java的開發者享受到了更多的便利,甚至影響了官方的標準。恐怕這也是作爲Java人獨有的樂趣之一吧。

 

PetStore : J2EE人的必修課
文/陶文

很少有一個例子項目如PetStore這 般廣爲人知,而這很大程度上要歸功於Sun很“英明”地把PetStore做成一個只展示架構而在性能調優上留下了大大餘地的例子。圍繞着性能話題,產生了頗爲有趣的廠商之間以及平臺之間的Pet Wars。除去這些關於性能的流言蜚語乃至中傷,PetStore在展示J2EE1.3平臺的架構、演示什麼叫分層方面還是有着很大的功勞的。而且PetStore在架構方面的豐富性使得其成爲J2EE的那些輕量級小兄弟們展示自身的一個必選科目。
不談那些圍繞PetStore的口水,那些數不盡的盜版,PetStore給開發新手帶來的最重大的影響,我想應該是架構的觀念而不是性能,也不是業務。做爲一種技術的Demo,這無可非議。但是如果你是一個新手,跟着PetStore亦步亦趨地學習J2EE開發,難免會陷入過度設計、華而不實之類的困境。圍繞着.NET的PetStore的克隆PetShop展開的架構與性能的大討論,是不是也在促使我們學習新技術時應該以解決問題爲導向呢?特別是當你想把一個如PetStore這般的Sample Project的技術照搬到你的現實世界的Real Project來時。

 

十大組織

Sun : 因爲Java而永被榮光
文/孟巖

Sun是1980年代初期由斯坦福大學三位年輕學生創立的公司。與一般人的印象不同,“SUN”的本意並不是企圖剽竊天上那顆溫暖的恆星的威名,而是“斯坦福大學網絡”的意思。Sun在“前Java”時代就因爲SPARC芯片、Solaris操作系統和“網絡就是計算機”的口號而爲人所知。1990年12月,Sun啓動了一個看上去沒什麼意思的嵌入式軟件項目。然而,基於C++的開發很快遇到了麻煩。一個創新型技術公司的特色立刻顯示出來,一羣天纔不是去深入C++,而是另闢蹊徑,發明了Java。這個傳奇故事已經盡人皆知,但是其中所包含的精神卻始終令人望空凝思。
Java的發明,使得Sun真正有機會在軟件的歷史天空中放射出太陽的光芒。Sun發明了Java,並且在長達十年的時間裏始終走在Java大潮的最前端。Sun是Java的老家,是Java慈愛的母親,這一切任何人都改變不了。雖然Sun似乎沒能夠從Java中獲得應有的金錢回報,但這絲毫沒有挫傷Sun對於Java的母愛,還有對於Java大潮的捨我其誰的領導氣概。
所有人都迷戀富有的感覺,但是也遲早會意識到錢不是世上最寶貴的東西。這個世界並不缺少會賺錢的公司,但是能夠靠着創新型技術推動整個世界進步的公司卻是鳳毛麟角。Sun應該感到驕傲,他們將因爲Java而在歷史的天空裏發射出太陽的光芒。

 

IBM : Java經濟的最大受益人
文/惡魔

Sun公司是Java的發明人,但IBM卻是Java最大的受益者。是IBM搶佔了利潤豐厚的應用服務器市場的頭把交椅,是IBM在Java技術上投入最多的金錢,擁有最大的影響力和最好的開發者社區。可以毫不誇張地說,Java使IBM的軟件體系得到復興,在某種意義上,甚至可以說,是Java創造了這種復興。Java之後又來了Linux,這種建造在不屬於自己的平臺上以獲得成功的理念更是變得非常有影響力。正是這種理念鑄就了今天IBM “按需計算,服務爲王”的王者風範。
2004年三月,IBM以Java的解放者的姿態藉機向Sun發難。IBM公司負責新興技術的副總裁史密斯在一封公開信中表示,IBM願意與Sun合作成立一個項目,意在通過開放源代碼開發模式管理Java的開發工作。
牆內開花,牆外香。面對IBM的成功,到底是誰妒嫉呢?或許去程序的社區中逛逛聊聊,明眼人是不難發現事實真相的。也許Sun應該好好向IBM學習經營之道。儘管利潤額不如硬件及服務部門,但IBM軟件部門的利潤率是最高的——高達85%的利潤率足以令人驚歎。在最近的一個季度裏,IBM軟件部的利潤率上升了8%,其中WebSphere產品組的利潤率上升了14%。
正是IBM在開源和Java上的全身心地投入又秉承開放性的原則,今日的Java才能以日進千里的速度將許多競爭對手遠遠拋在後面。Java 10年,IBM功不可沒。

 

BEA : 用AppServer影響Java陣營
文/霍泰穩

十年前誕生的Java並不是一開始 就那麼引人注目的,雖然用Applet也曾爲互聯網絡帶來一抹亮色,但畢竟只是Toy。在企業級應用市場上,Java一直沒有什麼起色,雖然Java的支持者一直在鼓吹它有着大型企業級應用的強悍功能。過高的期望與低能的產品,一時間頗讓人懷疑Java的路是否已經走到了盡頭?可以說是WebLogic Server的出現逐漸打消了人們的顧慮,BEA公司慧眼獨具在2001年收購的這個產品將人們的目光吸引到電信、金融、政府等Java企業級應用方面,WebLogic Server以其優良的性能讓人們看到Java應用廣闊的未來。雖然隨後在Java應用服務器方面出現了像IBM公司的WebSpere、開源軟件JBoss等Java應用服務器,但WebLogic Server幾乎佔領世界前500強所有企業的應用服務器市場地位依然無法撼動。
Java現在已經不單純是一個語言,從另一方面它也代表着開放與創新。很多以Java產品爲基礎的公司或者從事Java開發的程序員骨子裏都有着開放與創新的烙印,BEA公司的發展深深地印證了這一點。與合作伙伴的密切合作向Java社區貢獻產品基礎源代碼、加入權威開源組織參與Java標準的制定等證實着BEA的開放,而其產品從WebLogic Server一種拓展到WebLogic Platform、WebLogic Portal、WebLogic Workshop等其它領域又證實着它的創新能力。

 

Oracle : 早起的鳥兒有蟲吃
文/孟巖
Oracle的老闆拉里?艾利森是有名的混世魔王和花花公子,所以儘管他也是軟件產業成功人士的代表,卻絕不是程序員們心目中的英雄,程序員們畢竟不是央視《對話》節目裏羣衆演員,沒必要爲了節目需要而對權貴財閥們做出一副賤骨頭狀。但是,任何人都不能不欽佩Oracle在技術上的前瞻性和堅決性。Oracle是1996年獲得Java許可證的,緊接着就大膽地將Java作爲戰略性的發展方向而予以全面支持。要知道當時Java的前景並不是十分確定的,而Oracle的堅決投入,使得它在後來的Java世界中搶得一席之地。1998年9月發佈的Oracle 8i爲數據庫用戶提供了全方位的Java支持。Oracle 8i成爲第一個完全整合了本地Java運行時環境的數據庫,開發者用Java就可以編寫Oracle的存儲過程,這意味着可以僅在Oracle數據庫中就完成幾乎全部的應用開發。J2EE興起後,Oracle更是有心進入開發工具市場,因而購買了JBuilder的源碼,並在此基礎上開發出JDeveloper。如今Oracle除了數據庫穩居第一之外,在Java開發工具世界裏也自成一派。這一切不能不歸功於當初的眼光遠大。


Apache : 開源軟件的品牌保證
文/陶文

Java程序員的日常工具箱中,我們可以發現Ant、Tomcat、Log4、Lucene這些鼎鼎大名的開源產品。而它們的共同點在於,都是由Apache Software Foundation社羣中傑出的開發者開發的開源項目。Apache這個名字在Java的世界中實在太出名了,以至於“Apache”這六個字母成爲開源項目品質保證的代名詞。Apache是自由開源的一面旗幟,其Apache License更是成爲商業友好的License的首選,只SourceForge上就有1000多個以Apache License授權的項目,其流行程度可見一斑。
但是,如我們所知,Apache最早聞名IT界是靠高性能的Web服務器,其歷史甚至和Java一樣長。Apache對於Java的偏愛,以及其發展的速度也映射出了Java繁榮的一角。現在去它的主頁上看看,滿目望去全部都是Java的開源項目,早就不光是其C服務器的老本行了。Apache對Java最大的貢獻就是提供了這麼一個精品的開放舞臺,讓傑出的開發者和成熟的開源項目走到一起,共同給Java語言提供一個豐富的工具倉庫。對於一種語言、一個平臺來說,其庫的豐富程度對於開發者來說的重要性再怎麼強調也不爲過。勿庸置疑,Aapache上會出現越來越多的Java開源項目,而我們開發者也將更多地得益於這令人目不暇接的繁榮。

 

TheServerSide : 論壇的專業精神
文/劉天北

成立於2000年5月,TSS最初以一本書而廣爲人知。它的創始人Ed Roman同時也是J2EE名著《Mastering EJB》的作者;Roman運營着一個J2EE諮詢/培訓公司TheMiddlewareCompany(簡稱TMC),TSS當時是TMC的下屬部門;爲了擴大企業的影響,Roman在TSS網站上免費發佈了那本書的電子版。J2EE程序員要吃下這個香餌,就得在論壇中註冊;註冊的同時,多半也會看一眼論壇的內容;一看之下,大部分人都被吸引住,成了社區的忠實成員。
TSS究竟有什麼吸引人的祕訣?首先,它有一支能力過人的運營團隊,除了Roman本人之外,其中還有好幾人都是J2EE領域的頂尖專家;第二,TSS和TMC定期會推出專家研討會/視頻訪談、技術白皮書、評測報告,通讀TSS提供的這些內容,基本上就可以把握技術的當前趨勢。但這還不是全部。最可貴的還是TSS的社區風格:他們深諳技術,但不盛氣凌人;思想敏銳,但不因此缺乏審慎和大局感。其中大多數人都已在自己的開發領域頗有建樹,在TSS上的活動既給他們提供了與同行進行深度交流的機會。一個新成員進入社區,就像參加了一個起點很高的專業俱樂部,這不是一個求解“怎樣設置JAVA_HOME環境變量”之類問題的地方。事實上,在J2EE技術發展的若干轉折點上,TSS都起到了關鍵的推動作用。
幾經易主之後,J2EE諮詢培訓公司TMC在2004年關閉;TSS則被IT媒體集團TechTarget收購。我們期待着它更加繁榮的未來。

JBoss : 職業開源軟件組織
文/劉天北

J2EE的嬰兒期,“應用服務器”原本是“昂貴”的代名詞。但從1999年起,Marc Fleury和Rickard Oberg等人就已經着手改變這種狀況。他們開發的開源EJB容器當時叫做“EJBoss”,在Sun公司的干預下(注意,“EJB”是註冊商標),JBoss獲得了今天的名字。雖然從問世起就一直受到關注,但JBoss第一個達到產品化標準的版本可能是它的2.2版。它的易用讓人一見難忘:除了標準部署描述符,無需編寫專用的xml配置文件。Oberg自豪地說,“我們的架構並不是按照EJB規範指定的路線設計的,因此也沒有走大多數應用服務器走過的彎路。”
Jboss 3.x版本保持了一貫的創新精神,在用戶中間獲得了更廣泛的認可。但是,文檔要收費下載、在郵件列表上提問常常會遭到Fleury等人的斥責。無疑,JBoss的創始者也意識到了自己的幼稚:開源軟件只能靠服務盈利,賣文檔賺錢有限、罵用戶當然更損害企業形象。
雖然以Oberg爲首的許多程序員退出了開發隊伍(其中很多人成了JBoss的死敵),在開源軟件領域也面臨JOnAS Geronimo等新老對手的競爭,但JBoss還是以不斷推出的新版本站穩了腳跟。在技術上,它是策動J2EE演進的重要力量:擬議中的EJB 3也要追隨Jboss 4倡導的開發範式,以至於二者的代碼樣本之間的差別幾乎難以分辨;在商業上,JBoss與Sun公司言和修好,甚至還獲得了數量可觀的風險投資。JBoss已經像擁護者預期的那樣,成爲了應用服務器領域的Linux。

 

Borland : 深度介入Java
文/左輕候

除了Sun以外,也許沒有一家公司 像Borland這樣深層地介入Java。Borland開發了最早的Java編譯器之一,Borland的工程師參與了早期JDK的設計,Borland的JBCL(JavaBeans Component Library) 技術也成爲後來Java Bean規範的基礎。但是Borland對Java世界最大的影響還是JBuilder。
1997年11月,Borland JBuilder 1.0發佈。雖然第一個版本相對於競爭對手並沒有表現出明顯的優勢,但是Borland憑藉深厚的技術實力和正確的市場策略,不斷地超越了對手。JBuilder 3.5成爲業界第一個100%基於Java架構的開發工具,並且市場份額很快超過了50%。在隨後的版本中,JBuilder持續改進對團隊開發、J2EE架構、Mobile技術等方面的支持,最終成爲了Java開發工具市場,特別是大型企業級Java開發市場中的霸主。JBuilder的成功,很大一個原因來自於Borland堅持的平臺中立性,即對不同廠商的解決方案提供一視同仁的支持。
2005年初,隨着Eclipse社區的迅速崛起,Borland進入了Eclipse的董事會,成爲戰略開發者(Strategy Developer) ,並宣佈將推動Borland的其它產品與Eclipse的集成。在隨後發佈的一份文件中,Borland宣稱JBuilder的未來版本將放棄原有的PrimeTime架構,而基於Eclipse架構。這個代號爲“Peloton”的版本預計於2006年下半年發佈。
Borland對Java的另外兩個主要貢獻來自Together和BES(Borland Enterprise Server)。Together是著名的建模工具,能夠與包括JBuilder在內的許多開發工具進行集成,全球市場份額佔有率排名第二。BES AppServer是一種J2EE服務器,在全球市場份額佔有率上次於WebLogic和WebSphere,排名第三。

 

JCP : Java世界的聯合國
文/黃海波

當聯合國正在爲安理會改革問題 吵得如火如荼時,Java世界的“聯合國安理會”已經成功地運作了七個年頭。JCP(Java Community Process)在1998年由Sun發起成立,目標是通過一個開放、合作和鼓勵參與的非盈利組織來發展和推進Java和相關的技術。正是由於JCP計劃的推出可以讓所有對Java感興趣的軟硬件廠商,個人和組織都能參與到技術規範的制定和發展過程中,協調各方的興趣和利益、集思廣益,纔可以讓Java在短短的幾年內異軍突起,成爲可以和微軟開發平臺抗衡的一個主流開發語言。JCP計劃既然是一個組織,自然也有一定的架構。JCP組織架構主要包括PMO(Program Management Office)、JCP成員、EC、EG。事實上,JCP的架構就好像一個Java世界的聯合國。雖然也有不少人批評JCP成爲各派利益的角力場,因而效率低下;但是,它畢竟爲Java的順利發展很好地掌握了方向。

 

微軟與Java : 不得不說的故事
文/孟巖


微軟跟Java不對付,地球人都知 道。跟Sun和解了又怎麼樣?  .NET跟Java就是競爭對手,沒什麼說的。但是有點IT掌故的人都知道,微軟並非一開始就跟Java過不去。當年比爾?蓋茨盛讚Java是“長期以來最好的程序設計語言”,而且很早就購買了Java許可證。但是微軟作爲村裏的老大,看着人家的兒子茁壯呈長,不由得生了私心雜念,搞起了小動作,在Visual J++中加入了一些破壞純潔性的東西。單獨來看,Visual J++是COM時代微軟最棒的開發工具,用WFC寫Windows應用程序和COM組件實在是一種享受。但是放在Java大家庭裏,這個傢伙就顯得多少有點不懷好意。一場官司下來,微軟被逐出Java大家庭,Visual J++無疾而終。以後的事情盡人皆知,.NET出籠,利齒直指Java,幾年撕咬下來,沒佔着便宜也沒吃大虧,如今也算是南北朝對峙,二分天下有其一。設想如果當時微軟能夠摒棄帝國主義心態,正確對待Java,與其他人一起共建美好的Java“共產主義社會”,那麼今天我們的軟件開發世界應該會美好得多。可惜黃粱一夢,終究是螞蟻的喜事。2004年,微軟與Sun實現了和解,但願到Java 20週年的時候,我們能更正面地描述微軟對Java發揮的作用。

引自:http://www.7880.com/Info/Article-62bdb5c0.html

發佈了54 篇原創文章 · 獲贊 1 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章