弹指十年,Java摇身变为全球最具影响力的开发平台之一。Sun公司在2005 Java中国开发者大会上称,全球Java经济价值已经超过1000亿美元。那么,号称“编写一次,到处运行”的Java,会成为Sun公司决胜未来十年的尚方宝剑吗?
“没有人会预料到Java技术能够像现在这样无处不在,即使Java创始人James Gosling也没有这样的先见之明。”在9月13至14日举行的2005 Java中国开发者大会上,Sun公司董事长兼首席执行官斯科特·麦克尼利说。“现在全球Java经济价值已经超过1000亿美元,这也远远超出我十年前的预计。”
出生于1995年的Java,在过去十年中实现了其他语言难以比拟的“无孔不入”,甚至有人认为历史上从没有过像Java这样能够如此广泛地被应用的平台。如今,Java技术被应用到25亿个设备之中,其中包括10亿张智能卡、7.08亿部移动电话、7亿多台个人电脑以及全球各地大型公司与组织机构的数据中心。另外,Java现在有450万开发人员、180多种Java技术许可证以及910多个JCP(Java Community Process,即Java标准定制组织)成员。
在中国,数量超过20万的中国软件开发人员,正在把Java技术应用到诸如移动通信、智能卡、ATM机、个人电脑、服务器和大型主机等设备上去。Sun公司称,Java技术已经在中国软件产业增长中占据中心地位。
这是又一个无心插柳柳成荫的案例。十年之前,Sun公司刚刚研发出Java之时,并没有大张旗鼓地进行宣传和推广,甚至连Sun公司的内部员工都很少有人知道用Java来干什么。但十年之后,人们看到的却是Java在软件开发界的大红大紫。
Java是怎么做到这一切的?它还面临着哪些挑战?它能够成为Sun公司决胜未来十年的尚方宝剑吗?
Java创始人James Gosling称,Java时代才刚刚开始。
无孔不入
Java传奇的缔造者,是一个名叫James Gosling的加拿大人。在获得美国卡耐基·梅隆大学计算机科学博士学位以后,James Gosling开始在IBM公司工作,设计IBM第一代工作站。“他们不能容忍发疯式的创造,所以我选择了离开。”Gosling回忆起早年在IBM一年半的工作经历时说。
随后,他来到了Sun公司,放开手脚进行“发疯式的创造”。“我们在沙山路上租了一处房屋,我们大约有10个人,我们的小屋有一扇绿色的门,而我们完成的最终报告就叫‘在绿色的门后’。”Gosling说,“这是一份十分令人震惊的报告,其中包括很多场景,许多Java设计都是依据这些场景构想出来的。我觉得那比较像是科幻小说的做法……但是通过大家的共同努力,最终把它变成了‘科学的事实’。”
Java刚出世时并没有引起太多的注意,它第一次让人们觉得惊艳是1994年在加利福尼亚州召开的“技术、教育和设计大会”。当时Gosling已经悄悄推出了Java第一个发布版,时任Sun公司首席科学家的约翰·盖奇决定在大会上演示Java程序,结果取得意想不到的成功。
1995年5月23日,也是Gosling过完40岁生日的第四天,Sun公司在Sun World ’95大会上正式宣布了Java编程语言的诞生。仅有编程语言是不够的,为了提高软件开发效率,任何编程语言都离不开相应的开发工具和程序库。时隔半年之后,Sun公司在1996年发布了包括运行环境和开发工具在内的JDK 1.0。
由于具有“编写一次,到处运行”的特性,Java一诞生起就受到软件开发者的追捧,因为他们再也不用做重复劳动了。此前,为了使程序能够在不同型号的硬件上运行,开发者必须耗费大量的时间进行一遍又一遍的代码编译。1996年,Java在其第一届开发者大会JavaOne上,吸引了6000人到会。三年以后,会议人数便超过两万。Gosling接受采访时说,Java现在是“Learn Once,Work Anywhere”,意指只要学好了Java一门语言,就可以在很多地方工作。
Java诞生后没有多长时间,整个高科技行业都加入了Java的行列,其中包括惠普公司、IBM、Oracle以及微软。甚至有分析家称,IBM软件集团的成功,一定程度上得益于Java的兴起。
“他们(开发者)缺少无处不在的网络、安全性、可靠性、多平台、无处不在的通信作为保障——保障整个网络互联。”Gosling说,“Java所做的一件大事,就是冲破了软件与硬件之间的界限。我们可以对ISV(独立软件开发商)说,看看,你可以用这种方式开发,让你的应用运行在我的硬件上,同时让你的应用程序能继续在Windows平台上运行。”Java能够做到这一点,得益于其独特的结构。它并不是把原程序直接编译成硬件平台的机器语言,而是在硬件平台中运行一个Java虚拟机,用来解释Java程序。因此,用Java开发的软件能够跨平台运行。
凭借得到广泛认可的跨平台和开放特性,Java在许多方面已经成为Cobol和C++等语言的继任者,受到全球开发人员的青睐,并已经成为企业级应用的首选开发平台。据Sun公司称,单是今年8月,就有2200万次与Java相关技术、应用的下载发生。今年7月,IBM与Sun宣布将两家公司签署的Java技术协议延长十年;BEA公司也在其计划中宣布,将开发业界首个全面支持各种主要开源框架的J2EE应用环境。
今年50岁的Gosling仍然热爱写程序。“我们可以用这样一种方式来反思Sun和微软在开发人员平台方面的不同。从历史上看,Sun总是从高端开始考虑问题。在Sun,可以创建出一些令人惊奇的高度复杂的东西。这样做的代价是,得到了一堆十分复杂的、数量繁多的API和工具。所以在Sun公司,困难的东西是可能实现的,但简单的东西是困难的。而在微软公司,简单的东西是简单的,而困难的东西则是不能实现的。”Gosling分析说:“我们想实现的是,简单的东西是简单的,而困难的东西至少是可能实现的,并且越简单越好。”
源代码开放缓行
Sun公司在Java上进行了多大的投资、赚了多少利润?人们不得而知,Sun公司也从来没有正面回答过这个问题。麦克尼利在接受采访时称,Java所带来的收益并不是直接的。Sun公司的高层经理们也一直在强调,Sun靠的不是单个的产品,而是靠Sun所提供的基础架构和系统解决方案,因为Sun提供的基础架构“能够带来最大的自由度和最大的选择”。
“想一想,如果十年之前我们没有发明Java,你会觉得Sun公司到了今天会是什么样子?”麦克尼利说:“所有东西都会是Windows,我们就完了。如果人们不用Java编程以提供网络服务,他们就不得不用.Net。如果他们用.Net,他们就在为Windows编程。如果他们为Windows编程,他们就不会为Sun公司的设备编程。”
“在Sun公司每年20多亿美元的研发预算中,会有几亿美元用于Java,其中包括用于工具、平台、优化等方面。”麦克尼利说:“如果从运行环境或100%Java产品的角度看,Sun公司实际上获得的收入很少,但是也可以说100%的收入都和Java相关。Sun公司能够从使用Java解决方案的团体中获利。因为每一个现在使用Java技术的公司,都是未来适应Sun公司其他产品的潜在客户。这些产品包括SPARC服务器、x64工作站以及JES等。而且,大多数人都没有意识到:在每一个Java企业解决方案的背后,都有Sun系统的后台支持。比如说eBay,它的系统依靠Java技术。Java是前台的核心技术,而Sun系统则提供后台支持。”
Sun公司向来以技术创新而著称,还以对产业发展独具慧眼而闻名。在Sun公司成立之初的1984年,Sun公司通过开放其NFS(网络文件系统)而奠定了开放的基础。1987年提出的“网络就是计算机”的口号,则使得Sun在.com爆炸来临之前,就进行了十几年的技术和产品储备。不久前,Sun公司再出惊人之举,把历时4年、耗资5亿多美元的核心产品Solaris 10公开源代码,并且将其放在网站上供免费下载。
继Solaris 10之后,Sun公司会公开Java的源代码吗?麦克尼利称,最终所有的代码都会逐渐开放。“我们在Java上的策略是一贯的。今年6月,我们就提供了Sun Java系统应用服务器平台第八版(Sun Java System Application Server 8 Platform Edition)的开放源代码。”他说:“为了给Java社区成员提供更多的清晰了解Java平台的机会,Sun公司提供了Java SE 6(代号为Mustang)以及下一个版本Java EE 5代码的一些原始内容。”
Gosling则表示,Java源代码事实上已经进行了很多开放。“Sun有很多软件包,所以会是陆续开放,而不是一次性全开放。”他说:“现在外面很多人在嚷嚷说Java要全面开放,他们是希望在Java开放之后,不需要考虑兼容性。这是我们不能做的事情。我们必须要保持Java平台的兼容性。”
下赌中国
现在,Sun公司把更多的精力放到迅速发展的中国。从其专门在北京等九个中国城市召开的2005 Java中国开发者大会上,很明显能够感觉到这一点。这次大会也被认为是中国迄今为止规模最大的开发者大会。
“中国拥有独特的地位,可以充分利用Java技术,与全球领先的软件开发与创新中心同步发展。”麦克尼利说。两天的大会,选择北京作为主会场,并且通过卫星连接成都、大连、广州、香港、南京、上海、深圳和西安等城市。
在中国市场,Java在企业级应用以及大众服务方面都取得了进展,特别是在中国的电信、金融等关键性业务中占据了较为重要的位置。比如说,中国移 动和中国联通已经正式推出基于Java的无线增值服务,并在积极准备基于Java的3G增值服务。Sun公司还与中国银联共同建立了Java Card联合实验室,从技术到方案进行全面合作。另外,一些企业也以Java的标准体系为基础开发应用软件,如用友公司。
但是一些业内人士认为,如果在全球范围内进行横向比较,Java在中国的影响力还相对较弱。
Sun公司下决心要改变这种状况。在2005 Java中国开发者大会上,Sun公司宣布,其与波导公司、东信和平智能卡公司、中国电子技术标准化研究所、广东省地税局、华为科技公司、摩托罗拉、北方电信、上海银行等企业进行跟Java相关的合作。
另外,Sun公司还在大会期间披露了中国的ISV向Solaris平台成功转移的消息,其中包括用友、吉大正元、金蝶、京方通、上海安硕、易宝科技和江苏金智等公司。
对于Sun公司来说,Java的迅猛发展或许将帮助其洗去自网络泡沫以来的晦气。2004财年,Sun公司的销售收入为111亿美元,远低于2001年的182亿美元。从2000年3月至今,Sun公司的股票市值已经缩水约700亿美元。
从历史经验来看,编程语言往往是在其最高峰的时候走向衰落,C++就是其中一个很有名的例子,APL和COBOL也不例外。但是跟这些先驱们不同,Java却在经历一个不断更新和简化的过程,这也将帮助其获得更长的生命周期。
Java真的会像Gosling所说的那样,在十周年之际事业才刚刚开始吗?等待Java的会是一个怎样的未来?Java的开发者群体已经非常庞大,也非常忙碌,Java社区依然显现出勃勃生机。我们或许可以在其二十岁生日上说:生日快乐,Java!
链接
Java十年大事记
1995年
Sun World大会正式宣布Java诞生,创始人为James Gosling。
1996年
JDK 1.0软件发布;第一次举办JavaOne开发者大会;JavaBeans?? Servlets 等技术在会上发布,发布Java Card API。
1997年
三周内超过22万的开发者下载了JDK 1.1 软件;超过8000名开发者参加JavaOne大会;Java Card 2.0平台发布。
1998年
JDK 1.2发布,其下载次数超过200万;推出应用Java Card技术的世界上首张智能卡;Java标准定制组织(JCP)成立。
1999年
Java 2平台源代码公开;JavaOne开发者大会参会人数增长到2万人;J2EE 测试版软件发布。
2000年
J2SE v. 1.3平台发布;苹果公司宣布会全力支持Java技术。
2001年
首个国际性JavaOne开发者大会在日本横滨召开;超过100万开发者下载Java Platform Enterprise Edition ??J2EE?? SDK。
2002年
J2EE SDK下载次数达200万。
2004年
Java 2 Platform?? Standard Edition 5 ??Project Tiger??发布;利用Java技术开发的火星探测器成功登陆火星;Sun Java Studio Creator发布。
2005年
Java诞生10周年。
麦克尼利说,现在已经进入“参与时代”。
记者手记
Java会是Sun的救命稻草吗?
文 本报记者 郭莹
依靠互联网爆炸式发展,一直走高端路线的Sun赚得钵满盆盈。但是,随着用户对IT需求速度的减缓,特别是电信、金融等高端用户需求的逐渐饱和,从芯片到操作系统再到办公软件,一直都守着自己那块地的Sun虽然在储备资金上逐渐增长,但是销售业绩、利润额却一直不容乐观。
Sun当然不允许这种颓势持续存在。
它先是开放了更多的资源给合作伙伴,两年前推出采用AMD芯片的服务器,去年甚至与多年宿敌微软达成合作协议,实现了互操作。
在高端服务器领域,Sun为了抢占Unix市场,去年年底不惜公开了本来是高端服务器致命武器的Solaris源代码,以吸引更多的ISV能够在Sun的服务器上开发应用软件。
在低端服务器领域,Sun推出x86的服务器,以抢占企业、交通等以前没有开拓的市场。
在软件领域,Sun将令人眼花缭乱的200多款软件合并为六大类产品线,从技术、服务上给更多ISV和用户以全方位的支持。
但从目前的实际效果看,这些举措并没有取得立竿见影的效果,股价的波动一直揪着Sun股东的心。Sun将来还会有什么救命稻草可以依赖?
当然是Java。虽然Sun现在已经将Java免费提供给开发者,但Sun还有后招,它从来没开放过Java的源代码,也从来没有承诺Java会永远免费。这未免让人有很多遐想:如果真有一天,Sun需要大量资金,或者需要在某些市场有所动作,它会不会抓住号称有1000亿美元市场机会的Java,开始大量攫取利润,赢得未来的胜利?而一旦Sun从老百姓那里收回了免费使用Java的权力,又会成为怎样一个遭市场非议的企业呢?
链接
Sun与AMD推x64服务器
在2005 Java中国开发者大会的第二天,Sun公司在北京举行秋季新品发布会。在会上,Sun联合AMD公布了其代号为“Galaxy”的最新Sun Fire x64系列服务器。
Sun公司负责软件事业部的执行副总裁John Loiacono表示:“采用AMD x64处理器为我们的产品带来性能上的提升,特别是双核技术,实现在单处理器上完成原来双处理器才能完成的工作。”
Sun公司称,这些服务器通过相关技术减少了能耗成本和全球性计算能耗的增长。新系列服务器产品将搭载Sun自己的Solaris 10操作系统。不过Sun同时表示,用户可根据自己的需要运行Linux或Windows操作系统。据透露,新系列中最低端的产品售价不超过1000美元。
Sun公司表示,未来的服务器产品将有多达8个多核处理器,达到16路中档系统的性能水平。
在现场演示与宣传材料中,Sun公司毫不掩饰地列出了与竞争对手的对比情况。“Galaxy系列服务器配合Solaris 10操作系统,相比类似配置的4路Dell服务器,能耗仅为其三分之一,而性能达到其一倍半,成本仅为其一半。”
在Sun的发布会上,AMD全球副总裁兼大中华区总裁郭可尊也前来助威,显示两家的关系紧密。这也被业内人士认为是AMD对英特尔的间接示威。