太阳照耀下的Java 1996-08-16 在国际计算机界,Bill这个名字是很响亮的。一个是因为Microsoft公司的总裁Bill Gates,同时,还有另一个Bill,这就是Bill Joy。他也是一个硅谷自我奋斗的传奇式人物。1982年,Bill Joy与三位同事创建了Sun Micro System公司,即太阳微系统公司。时至今日,Sun公司已经成为计算机工作站的代名词。在1993年名噪一时的网络浏览软件Mosaic就是为Sun工作站编写的。 就在伊利诺斯大学国家超级计算机应用中心的Enter Mare Andressen,即后来的红极一时的Intemet浏览器Navigator的设计者,忙于为Sun公司编写Mosaic的同时,Sun公司的另一位创建人James Gosling编写了一种小型应用程序语言,这种语言本来是应电视机大国日本的一些企业要求为在电视、烤面包箱等家电产品上进行多形式操作而编写的。因为交互式电视的顶置盒不能安装大的运算处理元件,所以也无法处理非常复杂的程序。Java正是应这种情况产生的。它的主干部分仅有400KB,可算是短小精悍。但它同时还具有一种连当初的编写者自己也未意识到的巨大功能,即可以在任何操作系统下运行。 然而,日本人需要的是对交互式电视的处理能力,而不是对操作系统的兼容性。Java语言在这一点上让精于挑剔的日本人失望了。从1993年到1995年,索尼公司、日立公司、东芝公司的电视机制造厂商相继拒绝把这种语言使用在它们的产品上。Java在当时一点也不引起人们的注意。 有心栽花花不开,无心插柳柳成荫。1995年本应是Java语言的终结之日,但在另一股计算机业界浪潮的冲击下,反而使这种语言大行其道。 1995年,国际互联网Intemet在全球引起了巨大轰动,由美国政府主持设计的电子信息基础设施在这一年正式成为全世界的通信手段。计算机网络取代电话线,显示器替换了电视机,一切信息的交换都可以通过Intemet来进行。在国际各大计算机企业面前,迸发出了无限商机。就在Microsoft公司苦苦地为PC单机操作系统Windows 95的研制和营销绞尽脑汁、殚精竭虑的时候,Net Scape推出一代又一代用于Intemet的Navigator浏览器以及更强大的网络服务软件(有关Net Scape的故事不久前《电脑报》在《从恐龙到航海家》一文中已有介绍。 Intemet的狂潮不但冲击着计算机领域,而且还波及到了整个信息通信系统。人们迫切希望通过日常生活中常用的电话机、传真机、蜂窝式移动电话及车载移动通信系统与Intemet相连接。从信息处理的角度而言,这些硬件都属于广义的计算机,但最根本的区别在于它们各有不同的操作系统。这时,Sun公司的目光投向了不依赖于任保操作系统的Java。 以制造网络工作站为主要业务的Sun公司从八十年代中期就一直鼓吹“网络就是计算机。经过十年生聚,当初的远见在今天获得了回报,阳光照到一直处于阴影之中的Java身上。 1995年5月,即在Windows 95上市前的三个月,Sun公司发表了Java语言的详细规格说明。从此,Java不再是闺中待嫁的千金,任何一个计算机程序员都可以依据该规格说明迅速学会其技术细节。用Java语言编写的第一个成功的软件是Sun公司的Applets。这是一种小型可视化应用软件,用户安装这个软件后,就可以激活Web页面,编辑各种广告、自动记分牌、可移动的股市行情记录器以及不同形式的动画等。Sun公司免费发放了大量开发Applets所需的代码,力图尽快将这种语言推向市场。 Java的脚步声震动了整个计算机业界。1995年6月,浏览器霸主NetScape第一个与Sun公司签订了Java使用许可协议,并在其Navigator 2.0的Beta版中加入了Java语言和Applets。从此,Java搭上了航海家的快船,开始向Intemet的每个领域进军。 1995年12月4日,是Java语言历史上的一个里程碑。这一天,Sun公司与NetScape公司正式联手,宣布共同推出Java语言的成熟版本Java Script。这是一种开放式、跨平台的对象描述语言,任何一个懂得C++语言的程序员都可以马上学会它,不同的是,它没有C++那样复杂的指针结构。Java Script在运行时“屏蔽”了操作系统和硬件的细节。无论计算机处于何种操作系统的控制之下,只要装有Java Script处理程序,就可以运行任何以该语言编写的软件,超越了操作系统生产公司之间的竞争。 Java Script以不可阻挡的力量前进着。一系列计算机巨人向Java伸出了友谊的手。以程序设计语言C++闻名于世的Borland公司宣布即将出品一套基于Java的快速原型开发环境Latte;浏览器市场的另一家大户Spyglass同意把Java集成进其Mosaic中;美国第二大软件公司oracle也宣布在其新浏览软件oracle Power Browser中将把Java技术和网络可加载对象技术结合在一起。喜讯一个接着一个,飞利浦下属的Starfish软件公司计划在其Sidekick软件中加入能与带Java功能的Web浏览器一起运转的Applets,以使用户能通过Internet进行运程时间预约;Applix公司在Java基础上开发了一个叫做Espresso的电子表格软件;日本东芝公司的先进技术分部则正在用Java语言从事交互式联机出版的应用开发。另外,美国最大的在线服务公司America online、全球最大的电信通信公司AT&T以及以网络软件Netware名扬四海的Novell公司也都宣布支持Java Script。在全球计算机企业的支持下,最大的计算机硬件制造商IBM加入了Java的阵营,宣布计划把Java移植到其操作系统OS/2中;同一天,Adobe和Sybase宣布它们同Sun公司签订了Java使用许可协议。微软总裁比尔·盖茨在悄悄地观察了一段时间后,不无感慨地说;“Java是长时间以来最卓越的程序设计语言”,并确定微软整个软件开发的战略从PC单机时代向着以网络为中心的计算机时代转移。因此Microsoft宣布它同意购买Java的使用许可权Sun公司的HotJava浏览器的原代码,同时,比尔·盖茨要求公司的所有技术人员都要学会Java。一向以强硬著你的Bill Gates不得不向Bill Joe伸出了橄榄枝。 与此同时,随着通信事业和Internet的发展,Oracle公司提出了网络计算机NC(Network Computer)。网络计算机的特点在于它不强迫用户考虑复杂的硬件和操作系统问题,当用户从一个网络转移到另一个网络上时,不必担心其计算机上的硬件或软件会发生变化。对于没有接受过计算机系统训练的家庭主妇而言,这当然是一种方便。因此,NC的出现,将大大推进计算机进入家庭的速度。而NC发展的最大问题是需要一种超越一切操作系统的程序语言,以使所有的计算机都能够在同一个Internet上运转。这种语言正是Java。 Java语言的兼容性使得它可以在任何操作系统上运行,这就为网络计算机的发展奠定了软件上的基础。拥有了这种跨平台的语言,任何一个用户和Internet相连,就可以使用网络上的资源而不用考虑自己的计算机是受何种操作系统控制。可以说,Java照亮了网络计算机的前程。 尽管Java语言对操作系统和内存的要求很低,但毕竟是一种解释型语言,在执行时运转速度必然低于编译型语言。这时,Java短小精悍的特点显出了优势。Sun公司发挥了美国人特有的大胆想象,因为Java语言的源程序很小,小到甚至可以固化的一个芯片上,于是,1996年2月2日,第一个对java进行最优化处理的微处理器由Sun公司发布了。硬化之后的Java的运行速度大大高于原来,这使得它足以满足Internet上的一切需求。 Java语言的广为采用,使得用Java编写的软件产品大量涌现,这些软件产品受到工业界的重视与好评。1995年Java语言被美国著名杂志PC Magazine评为1995年十大优秀科技产品(计算机类就此一项获此殊荣)。Java语言的诞生对整个计算机产业带来深远的影响,对传统的计算模型提出了新的挑战。Sun MicroSystem公司的总裁Scoft McNealy认为,Java对Internet和WWW开辟了一个崭新的时代。环球网WWW的创始人Berners-Lee说:计算机事业发展的下一个浪潮就是Java。看来,使用java已成大势所趋 随着Java的发展得到众多开发厂商的全力支持,人们对Java投入了极大的兴趣。为了掀起学习,开发和利用Java语言的热潮,造就一批出类拔萃的Java编程人材,还能收集和积累很多优秀的Applets类库,从去年12月开始在全世界举行了国际Java杯竞赛(Java Cup International)。这次竞赛历时半年,于今年5月29-31日在Java开发者大会上落下帷幕,参赛者360人。通过这次竞赛,涌现出大批优秀的Java语言编程人材及其Applet程序。共有19人获奖,他们所编的Applet程序非常实用,得到产业界的高度评价和赞赏(例如:其中一个获奖的软件,是用Java语言来实现人体解剖二维图象生成过程,生动而逼真,受到评委们的一致肯定)。 香港也在今年4月举行了全港的Java杯比赛,在计算机界掀起了学习Java的热潮(尤其在大学生中,出现了一批Java迷)。台湾随后在6月初也正式宣布举行Java杯的比赛。这些比赛将大大促进Java语言的推广和发展。台湾在举行Java杯比赛的同时,在今年6月7日,由SUN公司和台湾经济事务部信息发展局、台湾信息技术研究所等单位牵头,成立了台湾“Java联盟”,参加单位有22家在台湾的著名计算机公司。Java联盟还将在 台北建立一个“Java开发中心”,在新竹建立一个“Java语言实验室”,从研究和开发Java技术。同时,Java联盟还将促进Java软件许可的发放及重新分配,制造基于Java的产品,例如网络计算机、PDA(个人数字助理)打印机、游戏机、细胞电话等各种可运行Java应用程序的设备。 1996年5月29~31日,正值Java诞生一周年之际,在美国旧金山召开了一个全世界Java语言开发者大会,(JavaOne Developer Conference),出席会议的多达6500多人,来自工业界的超过一半。Java开发商们对此次大会反应热烈,许多开发商纷纷推出Java新产品,使大会展览妙品纷呈。大会展示最多的是开发工具、附加程序和小软件。展览会上可以看到形形色色的Java开发工具,从不用人工手写任何代码的Java开发工具,到具有对Java Applet和应用程序完善编辑、调试、检测功能的IDE(集成开发环境),一应具全。有人评价说:“这是近年来计算机界最光辉的一次盛会”,一些工业界的老总们相当看好Javs语言,认为它的使用将会引起一场软件革命。从软件的设计风格、设计方法、设计目标到设计过程,都会产生彻底的变革,“甚至会改变此星球的生活方式”。 在这次大会上,Java的创始人之一James Gosling说:“Java不仅仅只是applets,它能做任何事情”。Dta咨询公司的高级软件工程师Rich Kadel说:“Java不仅仅是一种程序设计语言,更是现代化软件再实现的基础;Java还是未来新型OS的核心;将会出现Java芯片;将构成各种应用软件的开发平台与实现环境,是人们必不可少的开发工具,……” 由于各界都看好它,因此,各大公司都纷纷表示支持Java,Inter,Xerox公司声言将把Java嵌入到他们的产品中去。就连华尔街金融界也在投入资金人力用Java开发电子贸易、金融软件。所以有人说:“现在第三方的开发商都团结在Java大旗周围了!”,纷纷推出用Java开发的各种软件产品,以期尽快地占领市场。 Java总的情况是现状可喜,尚有不足。Java在网络中已崭露头角,引起各界的关注和重视,出现了一系列的新产品。但Java作为刚满周岁的新兴产品,当然还存在许多不足和缺陷有待解决。现已开发出的只有少量产品,且其中只有少量产品较为成熟,建立Java Applet的工具也很缺乏,Java类库不够丰富,数据库访问工具少,其性能及安全性也有待提高。任何对Java有所认识的人都不会认为现在的Java是万能的。许多厂商和个人都在翘首以待,准备到Java的类库和应用程序更加成熟之后,再把自己的关键任务建立在Java技术之上。当然,Sun公司正“尽力发现Java缺陷并努力去弥补”。 Java所面临的还是漫漫长路。但是由于有众多厂商的大力支持,Java发展将会迅猛无比。Java正从一个新技术逐步发展成为核心的基本技术。人们对它的期望值相当高,而Java也应该会不负众望。 Java,人们对你寄予厚望!