绿色之旅(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图片,堪称经典,值得一看。

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