数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 2467|回复: 1

技术分析:.NET的优势与劣势

[复制链接]
发表于 2004-5-7 18:35:00 | 显示全部楼层 |阅读模式
<FONT size=3>.NET Framework自2002年3月在日本国内上市以来,至今已一年有余。据估计标准集成.NET Framework的OS--Windows Server 2003将于2003年5月在日本上市。随着.NET环境的完善,作为足以抗衡Java的系统构筑基础,开发人员需要认识.NET Framework。下面笔者就来分析一下.NET的优势与劣势。

XML Web服务并未成为普及.NET的导火索

  此前人们一直在想:“对.NET来说,是否存在不同于Java的、独特的应用领域和市场?”。

  业内普遍认为,微软新一代系统构筑环境--.NET Framework是在研究Java的基础上开发出来的。不仅功能和架构相似,而且由于是在Java之后开发出来的,因此Java所没有的功能更是随处可见。比如在Web应用中实现事件驱动型应用程序功能等。

  不过虽说如此,如果只是告诉用户“.NET Framework比Java好得多”,那么Java开发人员特意转而使用.NET Framework的动机不会太强。

  由于Java已经先行积累了广泛的应用成果,积累了很多足以弥补其缺点的经验以及平台工具。只要不出现Java难以应用的用途和市场,那么.NET Framework就很难阻止Java的进一步发展。

.NET的优势:企业信息系统部门可自行编程

  刚开始,微软就把易于开发XML Web服务作为.NET的优势而大加宣传。以XML Web服务为前提而设计的.NET与Web服务具有极高的亲和性。但XML Web服务的产生却比较晚。尽管业内对它的期待和关注程度较高,但由于可充分利用XML Web服务的“可赚钱的”业务模式尚未确立,所以目前与Web站点相比其市场仍微不足道。其中,Java方面也正在加紧完善便于开发XML Web服务的功能。

  那么,是否存在.NET的独特用途呢?笔者通过采访所得到的一个答案是:.NET开发工具--Visual Studo.NET的易用性使得它在Java很难实现的“用户企业(信息系统部门)也可编程的系统”上超人一头。笔者认为可能还存在其他这样的领域。当然,尽管.NET的标准语言VB.NET和C#都与Java一样复杂,但是Visual Studo.NET却很好地消除了这种复杂性。

  比如,日本兰碧儿(NOEVIR)只靠自己的信息系统部门就完成了Web代理店支援系统的从企划到编程的全部工作。日本一家系统集成商曾表示,此前导入Java系统的用户企业中“选用.NET的信息系统部门就有望自行开发或对系统进行修改”。

  笔者认为,由于Java本身较为复杂,且不易学习掌握,因此“用户企业只负责企划,而将编程工作完全委托给集成商的现象非常普遍”。

  在COBOL和VB(客户商/服务器)的全盛时期,信息系统部门自己编程、对系统进行部分修改和功能追加是很正常的事情。如果连细小的系统修改都要外包,那么系统的维护成本自然会很高,因此就将失去灵活性。甚至于还有可能削弱信息系统部门的业务能力。说到企划,听起来好听,但如果连大体的情况也不了解,恐怕与开发商交涉都很困难。这也许就是Java的一个“弊端”吧。

  此外,“成本比UNIX低”以及“可以充分利用Windows技术资源”等原因也在加速.NET Framework的普及。作为客户端/服务器系统的开发环境,VB的后续语言--.NET中的“Windows Form”最具竞争力。越来越多的系统集成商开始选择这一工具构筑系统。

.NET的劣势:应用成果少、开放性差

  反过来说,.NET的劣势则在于在大型系统中的应用成果少、缺乏“开放性”。

  对于应用成果来说,今后其数量将会不断增加。据悉,日本Kabu.com证券将在2003年度内利用.NET Framework全面重新构筑该公司目前利用ASP构筑的系统。

  在“开放性”方面又将会如何呢?Java普及的主要因素很多,但笔者认为其中最关键的在于“开放性”。由于可各种OS上运行,而且很多开发商还提供了Web应用服务器和开发工具,因此用户可以随意选择。而开发商则通过在功能和性能方面相互竞争来不断提高产品水平。

  而.NET Framework怎么样呢?只要想应用于业务系统中,其OS实际上则只能限于Windows。尽管微软已经提供了FreeBSD版.NET Framework,但其目的仅限于学术研究。

  今后人们所能期待的是Mono Project。Mono Project是指完全独立于微软、正在开发开放源码版.NET Framework的计划。主导该计划的是一家名为Ximian的Linux企业,这家公司成功地开发了Linux标准桌面环境GNOME,目前已受到业界的广泛关注。

  2003年1月该计划还发布了运行Web应用程序ASP.NET的Web服务软件XSP。尽管很多功能仍在开发之中,但目前开发工作进展顺利。目前正面向Linux和Windows进行开发。据Mono Project称,由于该软件依赖于Linux的部分不多,因此能够轻松地向其他UNIX OS移植。

  能否形成像Mono一样的开放环境将是.NET普及的关键所在。微软目前已经向业界标准化机构ECMA(欧洲计算机制造商协会)提交了.NET标准,此举表明微软将采用开放标准。但目前尚不清楚此举只是单纯的一种姿态,还是真的要开放.NET。这就要看微软今后是否能够继续公开足够的相关标准和信息了。</FONT>
 楼主| 发表于 2004-5-7 18:35:21 | 显示全部楼层
<FONT size=3> 网友评论
amd64:   赞同mili_0816的观点,感觉一些人的发言确实不懂什么是编程,什么是软件开发,只是单纯比较语言本身。 (2003.05.17)
  
mili_0816:   回头来又关注了一下这个话题,发现越来越有意思了!感觉一些人的发言颇有些无知者无畏!现在的系统,越来越多提到系统整合这样一个词!系统的整合可以增强系统平台的整体性能,提高系统稳定性,减少系统的复杂性,增强平台的竞争力!应该说系统的整合是个趋势,而.NET和J2EE正是这个趋势的产物!不同的是.NET是将客户资源整合到MS自己的平台,J2EE可以自由搭配自己的整合方案!很容易理解,微软有自己的根据地:Windows操作系统!系统的整合使得操作层变得越来越simple(套用大家常说的那个词),而系统底层变得更趋复杂化!我发现很多人看待.NET和Java的时候,狭隘的喜欢从语言本身来看问题,似乎.NET平台和Java平台就只是C#和Java!其实你站在平台的高度去考虑.NET和Java,你才会感受到他们的优势:为什么要引入设计模式的思想;为什么要用虚拟机和中间码;为什么要引入XML为核心的Web服务…目的就是一个,整合服务,让操作变得too simple,让系统间的客户资源配合得更密切!有了这样一个认识,你才会发现,其实你要考虑的效率,是整个平台的运营效率而不是从一累加到一个大数字的叠加哪种语言比较快的效率!否则的话,用C/C++/汇编岂不是执行效率更快?当然,算法的优化,语言的执行效率会是一个因素,但对于.NET和Java平台来说最关键的因素还是设计模式,是架构思想,是你是否有足够的经验能最合理的把当前的系统资源都利用起来! (2003.05.17)
  
Rayking:   java也可以變快的呀,偉大領袖毛主席教導我們,不要用靜止的眼光看事情。jdk4.1的spec上就提到一個很大的突破,她的垃圾回收采用了并行方式。聊天系統慢不是java的問題,我也可以用.net做一個更慢的聊天系統給你看 (2003.05.17)
  
PoneyChen:   争论这些做什么?客户喜欢什么,就用什么。赚到钱,就是好东西。似乎.Net Framework不好直接与Java相比, 一个是架构,一个是语言。 (2003.05.17)
  
kiki12:   erictang2003:你我做一个web程序比试一下啊,我就用jdk1.3.1和tomcat 4,你敢吗? (2003.05.17) </FONT>
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-30 18:35 , Processed in 0.060343 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表