荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: kid (努力), 信区: Java
标  题: [转载] .net VS Java(zz)(转寄)
发信站: 荔园晨风BBS站 (Thu Dec 13 18:39:45 2001), 站内信件

【 以下文字转载自 kid 的信箱 】
【 原文由 waterid.bbs@bbs.xjtu.edu.cn 所发表 】
发信人: AKilling (....::生命的烛光::挽留刀:::....), 信区: php_asp_jsp
标  题: .net VS Java(zz)
发信站: 交大兵马俑BBS站 (2001年12月12日19:40:40 星期三), 站内信件

  从信息孤岛的pc机到主机/哑终端、客户/主机模式到多层中间件分布计算,直到今
天的网络web服务,计算机应用可能性的边界不断扩展。今天已经没有人怀疑互联网的巨
大力量,互联网正日益取代单一操作系统成为新的开发平台。时势造英雄,社会一旦有
需要,将比十所大学更能够实现技术的突破。意欲实现互联网无缝应用的多种努力在20
01年浮出水面:sun的one环境、HP的e-Speak、微软推出.NET战略。微软的.NET战略无疑
更是2001年世界IT界的一个hot issue。sun与微软在众多IT领域都可谓两个不同阵营的
旗手,因此对于开发人员而言,在新的一波技术浪潮扑面而来时,选择微软还是sun公司
无疑是一个需要慎重权衡的选择。
  一、构建开放互联网
  构建无缝互联网应用所面临的根本问题在于,互联网环境下操作系统以及应用逻辑
开发工具没有统一标准,于是首先产生了操作系统与开发工具的选择问题;其次、几乎
所有开发都要依赖函数库或者说组件的调用,微软WFC以及COM、Java的Javabean,都是
开发人员熟悉的函数库。随着网络应用的发展,各厂商将传统组件技术发展,如微软DC
OM、sun的RML等,以适应客户/主机局域网环境。但在更加开放的互联网环境又出现了新
的问题,在互联网环境中,组件调用处于一个高度弹性的环境,现有的组件框架缺乏版
本管理功能造成组件版本冲突, windows环境中所谓的dll hell问题就是一个显例,则
无疑增加开发成本降低开发效率。
  试图统一操作系统存在很大难度,比较之下在应用逻辑开发层次实现开发工具的无
缝连接,是互联网环境下构建无缝应用更现实的途径。实现开发工具的统一可以有不同
的思路:一是所有开发都采用同一种开发语言而获得互联网环境的无缝应用;这同使用
一种操作系统一样不太现实。二是对不同操作系统平台,通过“中间代码”实现不同开
发语言的跨平台无缝集成。Java就是该思路的产物。三是在不同主流开发语言的基本语
义要素诸如数据表达方式、函数调用之间建立统一的转换规则,在一个平台上实现不同
开发语言的无缝集成。微软.NET框架就是这种思路的产物。很明显,后两者之间差别很
大。.NET很难认为是一种开放框架。
二、技术比较
  .NET的主要特性有:
      1、自描述组件。传统组件不能在互联网环境中无缝应用的一个根本原因是,组件
本身没有包含在网络环境下必须的信息,比如组件版本信息(作者、建立时间、权限等)
;基于角色的安全检查特征等。.NET引入自描述组件,简化了怨声载道的COM组件复杂开
发过程,纳入网络环境所要求的信息,因此不再需要系统注册,只需拷贝在指定目录下
即可,实现了Java的同样特性。另外提供了一些组件新特性如reflection,减少组件开
发的代码编写量。允许不同组件间的手动配置,配置信息以与语言无关的xml标准保存。

  2、Microsoft Intermidled Language(MSIL)。类似Java虚拟机跨平台机制,实现
不同主流语言之间基本语义要素在windows平台上的翻译。
  3、跨平台运行库。通过MSIL以及soap、scl、disco、wdsl一系列协议,.NET定义了
一套跨平台的运行库。C++使用的MFC、Java使用的WFC、vb使用的VBAPI都统一在一个框
架下。在windows环境下开发时,程序员只需考虑自身偏好选择开发工具。
  4、ASP+ 。即asp的提升,以VB7代替脚本语言Vbscript,编程更自然,功能更强大
,安全性更高。可以将多种组件直接应用于HTML界面,并提供了网络环境下实现特定服
务的组件如进程自动管理组件,内置xml。已有测试表明,ASP+平均性能较ASP提高了3倍
,而最重要的是软件开发效率大大提高,成本下降。
  .NET具备了Java的大多数精华特性比如内存自动管理特性。但是,.NET仅仅在wind
ows平台实现web集成应用,其他操作系统被排斥在外。对于Java而言,虽然具备跨平台
特性但要求所有的开发者都使用一种开发语言以实现互联网应用的开放性,似乎也难以做
到。令人注意的是..NET框架中的c#,与Java 比较,两者都是c语言的发展,语法格式十
分近似,微软试图以此吸引一批Java开发者向..NET框架的转移。微软在市场份额上占有
优势,Java也拥有大批追随者,谁将是互联网计算模式的最终赢家,只能拭目以待。
 三、结语
  .NET的推出,是互联网无缝应用的一大突破。但是,微软最终的意图是明显的,企
图在互联网时代在更高层次上实现对市场份额的控制。微软一贯的老大作风已给世人深
刻印象,从操作系统、数据库、办公软件、浏览器乃至网络音频新压缩格式WMA,微软似
乎无处不在,互联网计算也不会例外。微软已宣布在其windows xp中不再支持Java,虽
然根据sun与微软协议,微软还拥有7年时间使用Java。
  客观地说,微软是最具实力担当实现互联网环境统一计算模式的厂商之一。.NET战略
事实上是微软面对来自Linux为代表的自由软件以及Java为代表的跨平台编程语言的压力
而做出的回应。IDG数据显示,Linux在服务器份额正逐渐逼近微软Windows,前者为27%
,后者41%,而前者增长速度快于后者;业界主要厂商对Linux应用的支持也有目共睹。
Linux上应用的日益丰富,必然对微软日益构成威胁。为了与Linux抗衡,微软开始对py
thon等自由软件进行有限支持;允许其战略合作伙伴查看微软代码,但依然将最终修改
权掌握在自己手中。
  微软面临拥抱互联网开放与维持其垄断利润的抉择或者说寻求一种平衡。开放是计
算机发展的巨大动力,微软的自身利益只能在一个开放的环境中才能够得到维系发展。
计算机发展史上不乏封闭垄断走向式微消失的大公司,王安就是前车之鉴。2001年3月,
Borland发布了Delphi在Linux下的RAD工具Kylix,将使得大约80%NT应用移植到Linux平
台;其他平台应用模拟自由软件诸如Lin4win、vware等也对windows应用构成一定压力。
或许微软在.NET中已经埋下竞争的下一步伏笔,.NET虽然目前局限在微软平台上,但其采
用的底层协议是标准通用协议,如果竞争格局需要时,从微软平台扩展到其他平台并非难
事。
--


……Finding a way to anesthetize my spirit……
-----------------------------------------------------------
※ 来源:·交大兵马俑BBS站 bbs.xjtu.edu.cn·[FROM: 堕落边缘]
--
※ 转寄:·交大兵马俑BBS站 bbs.xjtu.edu.cn·[FROM: 202.119.32.102]
※ 修改:·kid 於 Dec 13 18:39:24 修改本文·[FROM: 192.168.32.62]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.32.62]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店