服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 核心技术 > 查看文档

java将改变什么?

  java改变了什么?十年前,几乎没有人想到,几个技术人员研发的一个“小语言”,会发展成如今的一个“生态圈”,这就是java。从某种意义上讲,java是sun的救世主,与.net是不离不弃的双子星。

  从某种意义上讲,java是sun的救世主,与.net是不离不弃的双子星。

  java改变了什么

  十年前,几乎没有人想到,几个技术人员研发的一个“小语言”,会发展成如今的一个“生态圈”,这就是java。

  java让互联网动了起来

  “计算机语言的发展历史也是人们不断追求更高的模块化、抽象化和封装化的历史。近十年期间,很多编程语言,从出现到没落经过了一波又一波。像1970年代出现的pascal,如今用的人已经不多了。”一位资深程序员告诉记者,“‘算法+数据结构=程序’几乎成为软件开发的惟一准则,结构化程序设计方法从计算机发展角度来看是自然而然的,但今天从抽象的角度来看,这种方法几乎可以说是一个‘时代错误’。实际上,软件开发的主要目的就是描述和反映现实世界,结构化程序设计方法并不符合这个思维方式。”

  因此,抽象的过程应该是以现实世界的对象为中心的,于是面向对象的抽象方法就走到了前台,出现了visual basic、delphi、c++以及java等面向对象的编程语言,而互联网的勃兴,则给java的成长带来了肥沃的土壤。

  “java诞生时并没有引起太多人的注意,它第一次让人们觉得惊艳是在一次网站演示上,但当时人们对java还抱有很大的争议。”被誉为“java之父”的sun公司副总裁、软件部首席技术官james gosling回忆起十几年前的情景不无感慨地说,“但java的出现为当时的互联网增添了生机,它让那些静态的页面动了起来。”

  而且,因为java具有“只写一次,随处运行”的特点,从而引起了更多开发者的兴趣。

  由于看到java在互联网时代的巨大作用,清华大学计算机系教授王克宏从1995年就开始跟踪java的发展。

  java语言的优势似乎是与生俱来的,然而,仅有语言是不够的。

  免费的java创造了应用奇迹

  “为了提高软件开发效率,任何编程语言都离不开相应的开发工具和程序库。”王克宏说。于是,sun公司在1996年的1月23 日发布了jdk1.0,其中包括两个部分:运行环境和开发工具,运行环境包括五大部分:核心api、集成api、用户界面api、发布技术和java虚拟机。

  随着各种功能的完善与提炼,各种java开发工具以及开发环境的丰富,java不再是一种语言的代名词,它变成了一种开发平台。人们常常听到的j2ee(企业版)、j2me(微型版)、j2se(标准版)就是java的三大核心平台。利用这三种不同的平台,人们可以来做不同行业的应用。

  sun公司大中华区总裁余宏德说:“java经过十年的发展,已经得到了全球的公认,可以说,当今的电子时代是‘java无处不在’,正是基于它一开始的技术公开性,java已经变成全球最富有活力的技术社区之一。”

  尽管,java目前已经风靡全世界,但java 到底给整个产业带来什么,除了java程序员外,似乎没有人能具体感觉到。

  sun中国区市场经理马君海比喻说:“电灯的发明,使得有了现在庞大的电力产业;电话的发明,使得有了当今兴旺的电信产业;而java的发明,则给软件产业带来了前所未有的改变。”

  像一切新兴事物一样,java的发展并不那么顺利,其坎坷起步的经历,可以从sun首席执行官scott mcnealy在sun的java one大会上的一句话得知一二:“七八年前的java one演说现在听起来真是寒碜,我们那时实在是太小看它了,我们根本不知道这项技术将会改变什么。”而且,由于开始就是基于开源的态度,当时很多人怀疑它是否能赚钱。

  然而,今天的java已经得到广泛应用。

  据全球市场调查分析显示:已经有25亿部电子设备采用了java技术,java智能卡发行量已经达到10亿张,采用java技术的手机达7亿多部,7亿台pc中应用了java技术,140家电信运营商支持java 技术,全球有超过450 万个java开发人员,jcp(java社区项目)已经有912家会员企业。

  如果没有java,sun将会怎样

  从1997年4月6日美国旧金山的第二届java one大会,到今年的java十周年盛事,本报目睹了java 十年的风风雨雨,眼瞅着这个以“咖啡”命名的小小编程语言变成了一个平台,一个社团,一个生态系统。java不仅发展了自己,也同时改变了它的缔造者。java对sun的改变是间接的、渐进式的,有时候甚至不为外人所道也。

  与平台无关的java旨在与“锁定用户的”windows相抗衡,给人们更多的选择,但推动java研发的却是家硬件公司?d?d硬件公司与微软抗个什么衡?也许有人会拿ibm做类比?d?dibm也大量涉足软件。问题在于,ibm涉足软件的结果是把自己变成了一个软件和服务公司,而sun的主业依然是服务器。表面上看,“纯软”的java并没有给“偏硬”的sun带来直接效益,反而树了个强大的敌人,这就是并不“软”的微软。

  同时,尽管sun对java的投资巨大,却从没说过它从java中获得过多少回报。因为使用java程序和开发工具包是免费的,这让那些利用java做第三方开发的isv们赚了个钵满盆满,可是sun得到了什么?当然,java作为高级编程语言,它的注册和维护也能给sun带来一定收入,但这是一个小头,有人比喻说:“sun成了java的管家,而不是主人。”

  sun大中华区市场总监李永起近日为记者揭开了java与sun的秘密:“如果sun只是一个做服务器的公司,人们就不会对我们太感兴趣,但有了java,就大不一样了,人们会跑过来与我们讨论java,人们会说:‘哦,能研发出java这么棒的编程语言的公司一定不同凡响!’况且,服务器的销售从来就不是孤立的,它体现为一个系统,java在硬件销售中发挥了关键作用。”sun用 java来定位web服务,发挥其多平台对话的特长,营造web服务环境。

  internet让java复活,java则拯救了曾经陷入“偏硬”困境中的sun。

  sun董事长麦克尼里认为:java带来的益处从根本上讲是间接的。“但是,”他说,“想像一下,如果10年前sun没有做java,今天sun将会在哪里?如果人们不写java web服务,他们会写.net的程序,如果他们写.net的程序,他们就不会为sun的设备写程序。”

  .net不折不扣的对手

  近年来,国内一批软件公司都采用java技术开发了一批软件平台和产品,这两年java在国内得到了迅速发展。不过,尽管看起来java的队伍似乎很强大,但国内java人才相对而言还是少得可怜。

  “sun在新加坡建立了java高级培训中心,目前新加坡有5万名java 人才,而新加坡全国只有380万人,即全国1.3%的是java人才,如果按此比例,中国应有1700万名java人才,而现在估计仅10到15万人。”王克宏教授在相关的报告中写道,“造成国内java应用不多的原因是多方面的。”

  “这两年sun才开始在中国举办各种活动,而许多媒体对java的不关注也是其中一个原因。”王克宏说。

  “其实,鉴于java出来时总给人阳春白雪的面孔,使得国内的许多编程者在熟悉了微软的开发平台后,很难转换过来是其中的一大部分原因。”宋靖宇博士说,“你不得不承认微软在开发工具上的人性化以及可视化设计是高超的。”

  “在讨论 java 的时候我们很容易将 java 语言和 java 平台混为一谈,与.net 平台比较的过程中,也更多的是将java平台和c#比较,或者将java语言和.net 平台做比较,在我个人的意识中,这是不够公正的。”上海大学博士刘锬对记者说,“java既是一种语言,也是一种平台。”

  说到微软的.net,它从提出的开始就是立足平台,相对于 java 提倡的“一次编写,到处运行”,.net则提倡“一个平台,多种语言”,因为平台的统一性,因此在各个程序语言的兼容性和混合开发方面做得比java 好,也因此有些微软的“粉丝”嘲笑java是“一次编写,到处调试”。

  “微软的c#是集合了c以及c++甚至java的许多优点的结晶,在windows平台上,似乎c#在运行速度上更胜一筹。”刘锬介绍说,“在任何一个平台上,我们直接交流的是实现java语言运行的虚拟机,我们希望java在虚拟机以及它的开发平台的研发上变得更易用、更人性化。”

  “有对手总是一件不算坏的事情,这个世界不需要‘独孤求败’,商业规则也不允许‘独孤求败’的出现,因为那样会打破竞争格局的平衡,而java和.net这两个平台的纷争才刚刚开始。较量,有利于整个软件世界。sun公司在商业模式的运作上甚至可以跟微软学习。”一网友这样说。


  阅读关于 java sun .net 的全部文章

扫描关注微信公众号