JAVA真的输了吗?
最近升阳公司(SUN MICROSYSTEM)与微软公司(MICROSOFT)的官司已经尘埃落地。其结局是微软赔偿SUN公司两千万美金,但不再支持JAVA技术,这意味着JAVA将不能直接在其后推出的IE6或者视窗系统中使用。
介于微软在电脑CLIENT市场的垄断地位,该结局很可能使JAVA技术在今后相当长的一段时间内,不能在CLIENT端流行,因此,有人断定,JAVA将风光不再。JAVA程序员的恶梦已经开始。
升阳与微软之争,从技术上看,是THIN CLIENT与FAT CLIENT之争,从市场角度看,是工业电脑界与商业电脑界不同的经营策略之争。
THIN CLIENT VS FAT CLIENT
为什么微软能赚大钱?因为它的个人操作系统在不断更新。在WINDOWS下开发软件的公司为了使自已的产品能在新的WINDOWS下使用,不得不去购买新操作系统的LICENSE。亦迫使普通用户不停地升级自己的操作系统和应用软件以跟上潮流。 越来越庞大的操作系统及其应用软件就是FAT CLIENT的实质。微软是它最大的受益者。而倡导THIN CLIENT技术的JAVA必然成为微软命中注定的死对头。
微软先是想不动声色地将JAVA扼杀于萌芽状态,(以合作之名,发展与JAVA类似但只能在WINDOWS下运行,不俱备跨平台性的J++,企图以此将JAVA挤出市场。过去在个人电脑时代,微软这一招屡试屡灵。)但没有成功,才有现在的官司结局——与JAVA公开决裂,微软的这一变招,实际上是它在战略上被动的表现。
升阳公司放弃JAVA技术在CLIENT端的发展,并非被迫而是有意如此。其中最关键的原因是JAVA技术发展的主要方向是THIN CLIENT。它最大的兴趣是在CLIENT后面的网络,即BACK END,而不是CLIENT本身。
INTERNET热开始之时,许多电脑专家在预测将来电脑发展的趋势时,都认为个人电脑将逐渐不再被单独使用,而是与INTERNET整合在一起使用,其中大部份数据的存放与处理,将由INTERNET承担,而个人电脑将仅用于与用户交流。这好比整个网络变成一台庞大的计算机,它负责处理各种信息,而每一台与之相连的PC好象是一台终端,负责输入输出信息。(这与靠个人操作系统起家的微软公司的根本利益大相违背。) 但对于用户来说,THIN CLIENT的好处有三:
一、是普通用户不用再发愁安装、CONFIG各种软件,因为它们大都安装在网络上,只需透过自已的PC通过网络去使用它们即可。
二、用户也不用发愁软件升级,比如,阁下使用软件观看网络电影,随着时间的推沿,您会发现操作越来越方便,图象、声音的质量越来越高,但这一切升级过程都无需您操心。因为升级都是在网络上,对用户来说,是自动的,透明的(目前JAVA的技术在某些方面已经能实现这点)。
三、由于个人电脑只是一个THIN CLIENT,故无需进行大量的数据处理工作,其性能要求将不会太高,价钱也会变得非常低廉,用户亦用不着年年去更新升级硬件,因为硬件的升级也主要发生在网络上。
用户的需求将最终决定市场的走向,而THIN CLIENT技术对于广大普通用户的好处是无与伦比的。所以我个人深信它将是电脑界及INTERNET发展的必然趋势。
工业电脑界VS商业电脑界
在电脑界,实际上存在着两种经营策略,两种技术标准。一是以微软为代表的商用型,一是以IBM、SUN为代表的工业型。微软软件的基础就是它的视窗操作系统,视窗设求追求易学、易用、美观、时髦,这也决定微软其它产品的风格必然如此。但工业界常用的UNIX操作系统设计追求的是稳定、可靠、安全、耐用,IBM与SUN都有各自的UNIX操作系统,这样亦决定该公司其它产品的风格与之类似。有长必有短,技术的优势是以代价换来的。为了满足和保持一方面的优势,就会失去另一方面的优势。虽然微软的视窗在个人电脑界无人可比,但从工业电脑的标准来看,却是毛病甚多。
首先,安全成问题,DOS,及WINDOWS,以及后来OUTLOOK电邮系统,都是最容易受病毒攻击的目标,相比之下,UNIX及其相应软件上的病毒就要少得多。因为微软从最早的DOS设计开始,就没有考虑安全性的问题。在推出WINNT之后,才开始考虑,由于其基本结构设计并没有考虑安全性,所以只能在最高层增加一些补丁式的程序。而UNIX在一开始设计时,就已经将安全性问题纳入考虑之中。 对此,一位SUN公司的专家评论道:一个在结构上没有考虑安全性的系统,无论再在上面加多少补丁,它依然是不安全的。
其次,稳定性不高,视窗内的BUGS有多少,各位有目共睹。
再其次,不耐用,视窗可以几年就要升级一次,但您能想象民航订票系统,证券交易系统象这样吗?
所以,以工业电脑界的要求来看微软的大多数产品都是不合格,但是微软的产品优点,是界面精致,使用方便,深受普通消费者的欢迎。而工业电脑的大多数产品,大都需要电脑的专业人士才能使用。这样在推广上就不及微软。
以往,商业电脑界与工业电脑界各有各的市场,井水不犯河水。现在都同时把目光投向了INTERNET。谁都想当老大,故一场决战在所难免。当老大的关键,在于能否将自家的技术成为整个INTERNET技术的通行标准。为什么JAVA是免费的,因为SUN希望它能在INTERNET上流行,成为INTERNET SOLUTIONS的一般标准。
微软推出了与JAVA神似的C提供与它相配的微软自己的操作平台 .NET,微软这一作法是希望为整个INTERNET程序设计,从前端到后台提供一套完整的环境及解决方案,而且由于C与JAVA的近似,微软希望能吸引一大批JAVA程序员转向。换句话说,如果微软这一策略成功的话,在INTERNET上也就没有JAVA的什么事了。
但我个人看来,这两家的策略都不可能完全成功,因为INTERNET太大了,它需要不同层次的技术为它服务。微软的C与 .NET不是跨平台的,因此没法与INTERNET上的其它系统很好地相容,而且微软的这一配套系统不可能在各方面满足电脑工业应用的需要,所以它不太可能成为INTERNET上唯一的、最好的选择。
市场的需求将最终取决技术的生存。我个人估计,微软的技术将以它的易学易用和速度上的优势,最终占据中小型网站及消费、娱乐网站。而大型企业及大型网站将会继续采用JAVA技术。
JAVA真的输了吗?
JAVA也许不能直接在IE6上使用了,这对JAVA技术来说,损失究竟有多大呢?目前JAVA技术用于CLIENT端的只有两个,一是APPLET,二是JSP。APPLET有可能不能再在IE6上使用(因为它需要IE6内嵌入JVM),但是APPLET早已属于JAVA中过时的技术,位于淘汰之列。现在最常用的是JSP,JSP输出的是标准HTML文件,IE6不可能不用HTML,所以JSP依然能用于CLIENT端。今后,XML有可能取代HTML成为INTERNET数据表述的标准,输出输入XML对于JAVA来说,是一件轻而易举的事情。(目前,大多数XML解析器都是用JAVA语言写。)
JAVA技术的优势是在于通用性,即跨平台性,它的优点在于不同平台之间交流与整合,缺点在于速度较慢,因为它的通用性是以牺牲速度换来的。因此JAVA的目光是在每一个CLIENT端后面的整个网络,而非在一个一个具体的CLIENT上运行。
JAVA放弃在CLIENT端与微软竞争,是扬长避短之策。它今后的主要精力不是如何在INTERNET上显示数据,而是如何传输、处理数据。