当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .Net和Java有何相似之处

ASP.NET
Asp.net利用JQuery弹出层加载数据代码
asp.net dataview做无限极分类的又一用法
asp.net ckeditor编辑器的使用方法
告别ADO.NET实现应用系统无缝切换的烦恼(总结篇)
asp.net 实现动态显示当前时间(不用javascript不考虑开销)
.net动态显示当前时间(客户端javascript)
asp.net 结合YUI 3.0小示例
asp.net 取消缓存相关问题说明
asp.net 计划任务管理程序实现,多线程任务加载
ASP.NET 跨页面传值方法
asp.net中url地址传送中文参数时的两种解决方案
Asp.net 菜单控件简洁版
asp.net jQuery Ajax用户登录功能的实现
asp.net SharpZipLib的压缩与解压问题
asp.net url重写后页面回传问题
asp.net与Discuz!NT整合集成实例教程
Discuz!NT 3与asp.net 整合的实例教程
测试控制台使用方法
.net 动态标题实现方法
asp.net *.ashx类型的文件使用说明

ASP.NET 中的 .Net和Java有何相似之处


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 44 ::
收藏到网摘: n/a



.Net和Java有何相似之处 作者: Larry Seltzer(TechUpdate)
日期: 2002年01月31日
当第一次读到一篇关于ASP+的文章时,我确实深受震动 。现在ASP+称为ASP.Net,当然,它是.Net系列技术,是微软动态服务器页面的下一代版本,它提醒了我Sun公司的Java服务器页面(JSP)对微软的技术哲学体系发展所产生的积极影响。当我开始仔细研究后,我注意到.Net的许多技术,至少是部分上,显然受到了Java的推动。
当然,这没有什么让人惊奇的,我可以认为这无关紧要,过去,许多规则已经发生了改变;JSP自身在动态Web页面领域早已取得了一席之地,它最著名的产品就是ASP(也是最早的产品之一),J2EE受到微软事务处理服务器的重要影响,其派生的产品正是COM+套件之一。可能所有情况都是这样的,很多公司都曾做过多年前IBM公司已经做过的事情,也许这正是计算机业的普遍现象。

Java 和.Net之间的相似之处一般很明显。比如,在ASP.Net和JSP中,页面都是预编译过的,因而运行起来更快。如果要寻找它们之间的差异,你可以发现典型的微软模式,尤其是在开发工具中表现得更明显。(有些人可能会对“典型微软模式”的说法发笑,但他们采取这种做法的原因之一是这么做能够取得成功)。
模式之一是微软赋予了开发者很大的自由,甚至是进行危险操作的自由。例如,在C#中,微软提供了一些开发者想要或需要使用的不安全语言特性。Java的创始人James Gosling最近讽刺了这些后门,比如程序员创建当前指示器的能力,但人们对此却无能为力。如果让开发者在不使用Java的条件下,完成在Sun中利用Java开发的任务,这样所导致的困难还是可以让用户接受的。微软为已有的保留代码提供了额外的优先级,允许新开发的程序与它进行交互,这样使得它们的.Net版本不可避免地存在后门。
另外一个模式是支持多语言。.Net出现之前,微软批评Java让程序员使用一种语言完成所有事情。实际上,微软在他们的Java虚拟机中做了一些改变(根据Sun提出的要求),使其支持与其它语言的交互。在设计自己的.Net虚拟机时,微软令它可支持多种语言。例如,不同语言对数据类型有不同的物理格式,如果不同语言需要与同一个数据进行交互时,他们会不得不违反自身内部制订的标准。如,COBOL中的字符串类型长度是固定的(按照已建立的长度标准), C中的字符串类型是变长的,如果编译器遵守标准,那么代码就不能完成交互;如果微软制订特殊的.Net数据类型,那程序员要完成交互的话就必须要修改代码。微软采取的这种做法,让人们至少可以在.Net上用COBOL写代码,然后调用已有的程序,从而不必对COBOL程序员进行Java培训并重写代码。
但是很显然,新的.Net平台使用虚拟机的概念表示微软至少承认Sun在此领域的正确性。虚拟机是一个经典的老的概念,是Sun创立了这一基本理念。我走出大学校门的第一份工作是编写在UCSD p-System上运行的代码,我的二进制程序通过虚拟机在相差很大的硬件和软件平台上运行,但过去处理器速度只是几兆赫兹,高端系统只拥有1MB RAM,因此虚拟机程序运行起来非常慢。现在的虚拟机,如Java虚拟机或.Net虚拟机的运行速度得到了提高,用户可以接受这种速度。
除了基本系统体系之间的相似之处外,Java和.Net之间还有许多互相模仿的地方。如Java 2 Micro Edition和Microsoft .Net Compact Framework,都设计成压缩平台。还有微软的活动数据对象(新平台中的ADO.Net)和Sun的Java数据对象(JDO),它们都提供了对数据库的简易访问。
随着时间的流逝,Sun的发展不可避免地会受到.Net的影响,可能会出现Scott McNealy所说的".NOT"。微软在整个基于XML的Web服务上占有明显的领先地位,Sun的用户必定要求类似的东西,因此就形成了Sun ONE(开放网络环境)。令人惊奇的是,Sun的Web服务市场口号听起来与微软的Web服务市场口号竟如此相像!
看了这篇文章后,你可能简单地认为这两家公司不太尊重对方,但我认为事情要比想到的更复杂更有意义。我希望.Net和Java在今后的时间里能互相“影响”,两个公司都能看到对方值得借鉴的地方。这就是竞争!(翻译:智德;责任编辑:王岳)