綠色之旅(1) 史前Java

 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

綠色之旅引言

綠色代表了生機,有生機就有發展,而發展是生命的一種自由,Java與綠色有着一種內在的密切聯繫。旅行是一種非常有意思的活動,因爲你可以獲得更爲廣闊和美麗的視野,但同時也需要旅行者具備一種吃苦耐勞的精神,因爲旅途漫長而且需要走過一些並非綠樹成蔭花團錦簇的地帶,當你孤身一人旅行的時候,就更需要學會如何方能“柳暗花明”。心中有綠色,旅行就不會孤獨。

 

我們旅行的第一站是“訪古”,Java對於喜好這門語言的程序員來說對其特點及體系應該是知之甚詳,而說到它的歷史,可能就沒有那麼清楚,對於新生代的程序員而言就尤爲如此。因此綠色之旅的第一篇就是來講述Java的歷史,以下是從Sun的“官方”Java網站上翻譯過來的一篇文章,文章也是有一些年頭了,寫在1998年第三個Java生辰之際,而在1995Java誕生的5月份,我還在一所高中裏頭揮汗如雨準備過一座獨木橋,呵呵,往事,令人回味。

 

JAVA TECHNOLOGY: AN EARLY HISTORY

 

Author: Jon Byous

 

鏡頭前推,我們將時間定格在上個世紀的95523(看起來相當遙遠:))John Gage(Sun科技部主管)Marc Andreessen(Netscape創始人及副執行長官)登上講壇向SunWorld的聽衆宣佈Java技術正式誕生,並將其納入NetScape Navigator這個互聯網導航器。當時整個Java技術團隊(仍未獨立)人數不超過30人,正是這個最初的小團隊創造並哺育了這一行將改變計算領域的偉大技術。

 

前所未有的機頂盒電視

 

Java技術最初的設想是設計成一個編程工具,而非一種全新的語言,即使是後來的“綠色項目”也並非以此作爲出發點。當時該項目由Sun公司的Patrick NaughtonMike Shridan還有James Gosling1991年開始運作,項目小而且是一種”閉門造車“式的開發。Sun公司組建了由13位成員構成的"綠色小組”,期望實現計算領域的下一輪攻擊波,至少是引發數控消費電子設備和計算機方面的巨潮。

 

爲了展示他們在數字設備上的預見性,綠色小組將他們自己關在Menlo Park沙山路的一個無名office,並切斷了與Sun公司總部的所有日常聯繫,通宵達旦並肩作戰了18個月。92年一個炎熱的夏日,一個演示產品終於浮出水面--一個手持家庭娛樂設備遙控器,帶觸摸屏,以動畫的作爲交互方式。日後大名鼎鼎的Java吉祥物Duke在這個展示品中首次出現,它在向人們揮手致意並翻着筋斗。設備命名爲*7(Start7),源於綠色小組的辦公電話系統擁有的一個功能--可以從任何外設來應答你的電話。Duke實際上是Start7的一個代表--一個可以爲用戶做事情的軟體。Start之7所以能夠控制很多娛樂平臺及設備,其原因在於它運行在一種全新且獨立於處理器的計算機語言。該語言由James GoslingStart7特別創立並命名爲"橡樹"--源自一棵佇立在其窗外的橡樹。

 

隨着項目獲得新的源動力,還有趁也許能爭取有線電視產業這一潛在客戶的時機,綠色小組由幕後跳到前臺,迅速佔領了一個更大而且更有吸引力的辦公樓--位於Palo Alto哈密爾頓大街一百號,並漸爲人知的“第一人”(firstPersonofficeFirstPerson小組試圖爲Start7找到一個市場,在他們看來,電視機頂盒及按需播映廠商是相當理想的招攬對象。該小組開發了一個新的演示產品“電影森林”(MovieWood)來向市場展現這些底層的技術。然而不幸的是,這些廠商並未表現出太多的興趣,他們仍習慣於那些成熟的於生計無憂的商業模式。

 

歡迎來到英特網--你有客戶了

 

“回到FirstPerson的歲月,我們當時所做的與如今Java技術相關的事情都圍繞着網絡,更確切一些說是一種互聯網的模式。”James Gosling稱,“我們當時一直在鼓動有線廠商說,這是你的網絡應該有的樣子,它應該是交互的,用戶可以往這個系統裏讀寫信息。但是他們不想失去太多控制。”那時候的情形的確遠遠超前於那個時代,如今這個團隊(已經發展到70人)仍舊在開拓目標市場。

 

“在我們意識到在數字有線電視市場上已經沒有生意之後,我們全組在靠近塔霍湖的Squaw Creek一個旅館開了一個會議,我們必須必須明確在這個技術上該去做什麼,或者說我們該怎麼繼續我們的生活。就在那個地方,三天之後,John Gage, James Gosiling, Bill Joy, Patrick NaughtonWayne Rosing還有Eric Schmidt取得了一致的意見--爲什麼不把目光放到互聯網上?現下最新流行的互聯網才真正是FirstPerson小組爲有線電視廠商所設想的那種網絡類型。互聯網以其動態的媒體內容--文本、圖片、視頻,以HTML的形式通過網絡在不同的設備間傳輸,這是Internet大行其道的原因所在。Java技術被設計成並行的在異構設備網絡間傳送媒體內容,此外還提供傳送”行爲“的能力,也就是以applet的方式來體現。這是單純的HTML無法做到的,但是它可以提供給java技術這樣一個展現舞臺。

 

Gosling是這樣解釋的:“伴隨着web的成長,我們已經造出了一種‘內衣’使web的內容得到滿足。雖然網絡已經出現了20年左右,但是以Ftp或者Telnet這種方式很難讓其走入千家萬戶。1993Mosaic瀏覽器的出現使得web變得簡單易用,並且刷新了人們的視野。互聯網正在轉變成有線公司應該建立的那種網絡形式。總的說來,我們要做的事情就是讓我們編寫發佈的應用程序能夠更完美的適合於互聯網。這是一個令人難以致信的巧合。顯然,JavaInternet是天造的一雙。這就是我們要做的。”

 

打造一個更好的瀏覽器

 

小組旋即在Mosaic的基礎上完成了一個基於Java技術的瀏覽器“WebRunner”,也就是日後正式的HotJava瀏覽器。1994年,WebRunner進行了一次令人印象深刻的演示,它第一次給瀏覽器帶來了動態的東西,動態的運行內容,在這種全新的視覺效果背後暗藏着一種動力,這是前所未有的。

 

兩個改變了世界的Demo

 

1995年初的一天,John Gage,這位Sun科學部的主管,梗着脖子在Gosling的辦公室對Gosling說,“James, 我想從你這拿些一些網線。” Gosling聞後隨即在Office的儲藏室裏拽出了幾根。Gage又提出要Gosling贊助兩個臺式機,Gosling說沒問題,並且幫Gage把這些東西運到樓下的卡車,在運送途中GoslingGage究竟要這些東西來幹什麼,Gage說打算把這些東西用在蒙特裏山頂召開的一個研討會上,Gage受邀在這個“好萊塢-硅谷”互聯網及娛樂行家的會議上做一番演講,他已經下載了WebRunner並打算把給觀衆做一番演示。Gosling非常擔心這個仍在草創的WebRunner在這樣一個重要的公衆場合當衆現眼,於是跳進Gage的沃爾沃加滿檔直奔他那推兒車般如履薄冰的demo秀。

 

Gosling花了30個小時把網絡建好並對Demo進行演示前的troubleshooting,當演講開始的時候,Gosling注意到當時在場的許多人都只是偶爾提提精神,畢竟,對於一個運行在克隆的Mosaic瀏覽器上以一種新語言驅動的小小超文本有什麼好興奮的呢?隨後Gosling將鼠標移到文本中央的一個三維分子模型,模型隨着Gosling的鼠標做前後上下翻轉,“當時所有的觀衆都發出了嘖嘖的驚歎聲,”,Gosling回憶到,“場面一下子發生了逆轉,這個分子模型動起來了!”所有人頓時都變得注意力集中。隨後GoslingGage通過一個動態排序算法演示(由Gosling親自操刀的程序)更是把觀衆推向了驚喜的極端。在這個排序演示當中,三個擁有不同長度水平線段集合各自將線段由短到長排序--也就是在瀏覽器中把線段按長短由上往下摞。觀衆在此之前只見過瀏覽器中的靜態圖片,從沒有見過這樣的動態景觀--線在動,在動!彷彿線後頭有一隻無形的手在撥動它們!剎那間,在場的每一個人都在內心對互聯網的潛力進行了一番重新審視。越過沸騰的會議現場,Gosling首先想到的就是,他的演示已經撼動了一羣有影響力的觀衆,他們毫不吝嗇其熱情的掌聲,在這羣有影響力的技術與娛樂人羣當中,奇蹟將會飛快流傳!

 

一個月後,小組已經準備好將WebRunner和相應的二進制代碼通過互聯網進行公開或私人下載,他們要讓這些代碼在他們的朋友及小型開發團隊中得到測試,這一切將通過一個簡單而快捷的郵件來完成。“我們就象一小羣將東西扔過實驗室高牆的傢伙,”Gosling說。

 

公諸於衆

 

1995年四月,僅有七到八份1.0a(阿爾法)的二進制版本在Sun之外流傳,小組當時已經準備好把一份“完全公開”的1.0a2版本的代碼發佈到互聯網上。“我們把源代碼發佈到互聯網的目的在於讓開發人員自己做出選擇,"Lisa Frendly說,小組認爲將選擇權交給開發人員是贏得廣泛認可的捷徑,同時也可以在開發人員社團當中獲得代碼檢查及發現漏網bugs的最爲有效的幫助。於是小組建立了一個下載網址,懷着緊張的心情將java源代碼從網絡向世界公佈。

 

剛開始的時候,小組都會爲每一個下載雀躍不已。“下載量已經到到達了七個,看,正從澳大利亞下載,不知道下載的是誰,八個了!”,九個,十個,很快就湊足了一打。通過網絡,我們獲得了從開發人員那邊返回的意見。僅僅一兩個月的功夫,下載量已經到達了千數。小組開始重新審視獲得的成功。Gosling說,“當時我必須選擇一個足以證明Java獲得成功的數字,我說那好吧,假如我們的第一個發佈版本下載量到達一萬份,也就是說粗略有一萬人在使用java,那麼我們可以說是大獲全勝了。” 到達這個下載量並沒有象我們任何人預先估計的需要太多時間,甚至連James自己也沒有意料到。在到達這個里程碑的同時,高居不下的諮詢電子郵件及連續的下載開始成爲小組網絡連接的負擔,小組經常需要加大帶寬來滿足需求。java技術小組懷着自豪的心情登記每天的下載量,並親自對幾乎是所有email上的問題做出易於理解的回覆。“通常開發人員在第二天即可收到近兩頁的技術解答”,Lisa Friendly說,“最初的時候大概一天有20email左右。有時候我們的組員對一些技術性的問題抱有很大的熱情,往往是兩個或者三個組員對同一封email做出回覆,因此我們決定在每個星期都有一個成員專門負責所有的email回覆。“剛開始的時候,這種安排對組員來說是比較容易支配的,因爲這幾乎就相當於給他們的日常工作增加一些臨時任務。但是後來這項工作就變成全職的了,每個組員在輪值後要把所有工作時間都放在技術解答上面。組員Tim Lindholm負責與java技術相關的郵件列表,每天都可以收到超過2000封的email。“因爲我是web網管之一,並且負責這個擁有上萬成員訂閱的郵件列表,總能收到很多email。” 如果Tim Lindholm有事情離開幾天的話,當他返回時,在系統上將看到六到八千封的email.於是Gosling建立了一個交互式的收發系統,可以給每一封收到的email做自動的禮節性回覆。最後,全職技術支持工作由組員Jonni Kanerva這位計算機語言專家和軟件開發人員負責。後來他將自己給開發人員的email回覆收集進一本書並且出版,即《Java FAQ》。

 

那段時間顯得很漫長,因爲代碼的開發總是在滿負荷運轉。email、一貫的系統升級(當然是多平臺)、增長的需求,還有隨後的新聞會,見面會,演講會等等。“我們當時都成爲了工作狂”,Lindholm說,“但是我們大多數人都願意讓我們自己變得更忙,因爲這正是我們所認爲的生活。假如某人要打退堂鼓,或者說休息一下,不要那麼玩命,那麼必然會招致衆怒。” 對於曾經呆在這個小組的人來說,“努力工作”不足以表達他們曾經在此的日日夜夜。

 

Sun的帶寬掠奪者

 

儘管小組有一條T1專線和一個專門的java.sun.com網址,但是帶寬仍不能滿足日益增長的java軟件下載需求。開發人員抱怨通常是從一開始下載就不是很順暢,有些人甚至指責是java小組在故意控制這些需求量很大的代碼。“我們要做的就是要加大帶寬,”Gosling說。很快Sun意識到Java技術小組迅速的“一夜走紅”超出了原先的設想(而實際上當時沒有任何市場預算和規劃),一個不可否認的證據就是Web的興起,一個時代終於到來了。

 

Lisa Friendly講了這麼個故事,“那是在1995522號,星期三,Lisa Poulson已經安排了San Jose Mercury News爲將要正式發佈的Java技術寫一篇文章。當時可把我們都給忙壞了,除了爲開發人員和終端用戶寫文檔之外,我還要負責設計一個新的java.sun.com網站。Lisa Poulson,嗯,或者是Kim Polese曾到過我的辦公室告訴我在文章發表後往www.sun.com上面添加一些相應的鏈接。我想這沒有問題,還有四天的時間來做好準備,而週末還可以算上,在Internet的時間就象是在生活而非工作。星期三我在忙着我的項目的同時,很輕鬆的就把這些東西整合到一塊兒。星期四早上七點半,在驅車的路上我拿起一份報紙,看到了Mercury的頭版,哦,它已經在那了,得趕緊快點到辦公室。” 正式發佈這件大事不僅要在星期天的時候能夠公諸於衆,還要讓它出現在有商業價值的欄目,而不僅僅是在Mercury的頭版。Friendly回憶到,“我衝入辦公室以我最快的速度來工作,但是不斷有人打電話進來或者是敲我的門問我知不知道那些頁面上重大的新聞摘要卻沒有進一步的詳細介紹鏈接,你知道什麼叫‘直接施壓’麼?我成爲了焦點,一絲不敢放鬆,但那時我感到自己坐在計算機面前就快要崩潰了。幾個小時後網頁終於弄好了。” 網頁頭版明確的刊登了即將發佈的Java技術將成爲“下一個紀元”,還援引了NetscapeMarc Andreessen的話,評論java是一項“偉大的技術”。PR小組完成了他們的工作,但是報紙反而超出了原先人們的預料,將這一消息傳播到公衆,並招來了新聞界蜂擁般的電話和垂詢。

 

世界上剩下的部分--非開發的人員,一下子被吸引住了,而幾乎是一夜之間,Java技術小組成爲了萬衆矚目的焦點。

 

Dad,抱歉搶了風頭

 

設想這麼一幕:Java的正式公開發布被安排在SunWorld展示會的開幕式上,並作爲主題式演講的其中一部分。宣佈是在Sun有聚光燈的一個簡潔而專門佈置的地方,若非如此,Java技術是無法在一個爲Unix客戶精心佈置的Unix展臺上閃亮登場的。但是在此之前發生了一件改變了一切的事情。

 

那天早上四點左右,在通往會展中心大街上的Sheraton Palace酒店的一個房間,SunEric SchmidtGeorge PaoliniNetscapeMarc Andreessen握手達成協議,將Java技術納入無所不在的Netscape瀏覽器中。在此之前曾經歷了艱苦的商討,但最終,Andreessen同意在早上的主題演講中親自宣佈這一驚人的合作,這將作爲Java技術正式發佈的一部分。

 

AndreessenSun的高層步入講壇之前,大多數的java小組成員對這個達成的協議一無所知。協議的公佈象電流一樣刺激了整個發佈會場,對於在場的聽衆來說,通過Navigator,將嶄新、神祕而簡潔的Java技術以Applet的方式在任何平臺的網頁上展現出來,這是一條令人難以致信的大新聞。Andreessen僅僅在講壇上的三分鐘不到的時間裏,情緒激動的聽衆,無論是技術人員還是新聞界,都報以了多次熱烈的掌聲。因爲他們親眼目睹了一個將對未來互聯網產生深遠影響的重大事件的開端。

 

尾聲

 

這些年在英特網和企業領域涌現出許多相關的技術,這些僅僅是一個開始:JDK,沙箱,applet,數以千計的以java爲驅動的技術,上千種與java相關的書籍,Java bean架構,Java StudioNetscape Cummunicator,數千個網絡服務提供商,六千萬網絡用戶,56kmodem,電子商務,servlets,JFC,EJB組件,商用JavaOS,還有來自於IBM這位重要參與者的承諾。

 

以上不僅僅是一些軟件產品和事件的列表,通過這個列表我們不難發現幾年來技術在飛速發展。Java技術現在已經發展成爲一個非常重要的計算環境,正像一條衝破岸堤的河流波及了整個計算機產業和傳統企業。

 

在慶祝Java技術第三個生日之際,重新命名爲Sun Java Software的分部擁有800名職員,爲150多個認證廠商及全世界成千上萬的開發者提供技術支持,還有15000JavaOne的積極參與者(世界上前所未有的最大的程序員羣體),這樣的數量足以在一天內就可以達到最初一萬份下載的目標,還有那條足以自傲的繁忙異常的T3專線(有備用線路)。

 

自從其955月誕生以來,Java平臺已經被業界迅速認可和接受,遠遠超過了計算機歷史上任何一項新技術。許多重要的計算平臺第三方廠商已經簽約將java技術整合到他們的核心產品中。是什麼造就了這個平臺擁有如此的力量?正如Lisa Friendly所說,“是開發者將這一切變爲現實,而不是一個虛幻的廣告。”

 

Java平臺把應用程序接口或者說編程環境變得精簡和易於入門,”Sun首席執行長官斯科特麥克尼利在一個產業大會上這樣告訴聽衆,“Java已經變成一種計算語言,一個平臺,一個網絡計算的架構。”

 

史前Java後記

98年互聯網及IT產業正處於風頭浪尖之上,那是一個創新的時代,同時也暗藏着一種浮躁,但是Java的誕生的確算得上是一件劃時代的大事。現在的Java已經和八年前的Java有了很大的不同,已經發展成爲一個龐大的體系,並且在互聯網引領了很多類似的新技術。JavaOne大會還在繼續,不知道這杯咖啡將會在這次盛會後調校出什麼樣的一種味道。但從這八年的變化歷程,Java可以算得上一個非常典型的時代縮影,無論在技術上還是在商業上。

 

小注:本文翻譯略有刪減,並有些許部分爲譯者個人發揮,如文章標題及上面的後記,詳細之處請看英語原文。另原文圖文並茂,有許多諸如人物背景介紹,尤其是Gosling的兩個Demo圖片,堪稱經典,值得一看。

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