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

ASP.NET
asp.net css注释的影响
ASP.NET与数据库相关技巧
关于HtmlForm控件
三色交替的下拉列表框
精通ASP.NET中弹出窗口技术
ASP.NET Forums与现有系统整合方案示例
ASP.NET操作IIS中的虚拟目录
DataGrid与SQL Server 2000数据绑定
如何让Web应用程序在Client端实现导出报表功能
如何保证web app中的Send Email线程稳定性
关于用ASP.Net识别远程主机服务器种类
ASP.NET中上传下载文件
提高ASP.NET性能的方法
asp.net StreamReader 创建文件
asp.net如何生成图片验证码(简单)
一个.net 压缩位图至JPEG的代码
简单的SQL Server数据库数据读取与数据操作
获取网站的RSS聚合到自己的网页
.Net程序中整站通用的防SQL注入函数
asp.net生成缩略图及给原始图加水印的函数

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 73 ::
收藏到网摘: 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在今后的时间里能互相“影响”,两个公司都能看到对方值得借鉴的地方。这就是竞争!(翻译:智德;责任编辑:王岳)