当前位置导航:炫浪网>>网络学院>>编程开发>>JAVA教程>>Java进阶

Java 5.0和.NET 2.0 在较量中携手前行


  有些时候等待是一种幸福,就如对于 Java 1.5( 商业的版本号为 5.0) 和 .NET 2.0( 内部版本号为 1.2) 的守候。对于 Java 社区, 1.5 RC1 的等待恍如隔世,终于在所有人快失去耐性的时候给出了这个定心丸;对于 .NET 社区,则是一种欣喜,反过来也是一种担忧,毕竟相对稳定的 .NET 1.1 版本还没有 Java 社区中那样成熟的姿态,却要考虑是否迈进 2.0 的新世界。
  
  不知道是不是商业宣传的错觉,很多人将这两个重量级产品做比较的时候更多的是着眼于 Java 语言和 C# 的语言的比较,从某种意义而言对于 .NET 是不够公平的,同样对于 Java 而言也不是公平的。
  
  在讨论 Java 的时候我们很容易的将 Java 语言和 Java 平台混为一趟,和 .NET 平台比较的过程中也更多的是将 Java 平台和 C# 比较,或者 Java 语言和 .NET 平台比较,在我个人的意识中,这是不够公正的。
  
  Java 经过多年的发展,已经从单一的语言及其运行时环境扩展成一个完成的应用平台,并且在企业应用领域处于绝对的领先地位, J2EE 已经成为事实上的大型企业应用的标准技术架构。而在移动开发领域,因为其跨平台的优势,在各种 Java 兼容设备中的开发也成为一个非常重要的生力军。
  
  .NET 从提出的开始就是立足平台,相对于 Java 提倡的“一次编写,到处运行”, .NET 更加提倡“一个平台,多种语言”,因为平台的统一性,因此在各个语言的兼容性和混合开发方面做得比 Java 好,也因此有些 MS 的拥护者嘲笑 Java 是“一次编写,到处调试”。
  
  纵观这两个平台的革新主要体现为如下两个方面:
  
  Java :这是从产生到现在第一次真正意义的对于语言实现进行大刀阔斧的改造,一直以来, Sun 公司将更多的精力放在类库的扩充和技术架构的规范定义上,比如 JDBC 的不断完善, JMS 、 JNDI 、 EJB 等等非常重要的规范就是在这几年的发展过程中逐渐成熟起来的。俄而在语言方面,从 1997 年 Java1.1 推出之后 Java Class 文件就一直没有做过大的变动,在语言支持上也没有太多的变化,因此像《 Thinking in Java 》这样的“宝典”从第一次出版到现在也没有本质性的变化,更多的是作者对于一些观点的修正。而在类库方面,经过 sun 公司和开源社区的共同努力,已经让 java 变成了一个巨无霸的平台,除了 JDK 自身庞大的类库以外, SourceForge 能够找到一些非常完善的应用框架,比如 Hibernate 、 Ant 、 Spring 就是其中的典范。而此次的更新则意味着在语言层次上 Java 将变得更加“职能”,更加适合实现面向业务的应用,而不再是一切需要依赖令人望而生畏的类库去实现也许不算复杂的应用。语言的“轻量化”的结果就是带来开发生产力的提高,同时依赖于 Java 世界目前拥有的强大资源,我想对于 Java 而言是一个新时代的开始,从 1.5 起, Java 更加轻便,也不再阳春白雪高高在上,通过核心类数据共享,通过注解 (Annotation) 的支持,通过多线程的改进, Java 也逐渐走入桌面应用市场。
  
  .NET :有一点可以肯定, C# 语言的革新绝对不是 .NET 2.0 新功能的全部,按照微软一贯的作风,从语言到类库再到开发工具的全线支持才是 .NET 2.0 的全部,从这个角度而言,前些日子公布的代号为“ Whidbey ”的 Visual Studio 2005 Beta1 才彰显微软的“狼子野心”,除了 C# 中泛型、匿名方法、迭代程序和局部类的引入,对于 VB.NET 也不例外,通过 My 命名空间极大的简化了对于系统资源的访问。一直备受非议的 Managed C++ 也返璞归真,除了保留了传统 C++ 的功能之外,对于托管应用程序的编写也终于可以使用令人赏心悦目的代码去完成,而不是 C++ 程序员深恶痛绝的“ __gc” 关键字。而类库方面的改进才是真正让开发人员欣喜若狂, ASP.NET 2.0 加入了门户开发的框架—— WebPart 的支持,也加入了针对用户个性化的支持,比如 Skin 、 Password Recover 等等。
  
  有对手总是一件不算坏的事情,这个世界不需要“独孤求败”,商业规则也不允许“独孤求败”的出现,因为那样会打破竞争格局的平衡,而 Java 和 .NET 这两个平台的纷争才算刚刚开始,而较量的结果则是有利于整个软件世界。发展到现在,两个平台在技术架构的目标上已经趋近相同,如果说要比较出一个大概,那么我想在语言层次上因为 C# 或者 VB.NET 是后来者,就注定了比 Java 更加先进,在类库框架方面同样因为是迟到者,目前还无法在大型应用方面和 Java 抗衡,这两个相互较量的平台同样的比较在相互学习中携手前进,谁是受益者呢?我想还是广大的用户。
  
  J2SE 5.0 与 .NET 2.0 部分技术参照
  
相关内容
赞助商链接