`
isiqi
  • 浏览: 16356534 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Java vs C# —— Sun关于VB.NET和Java对比的文章

阅读更多

2004-08-08 01:00 作者:APPLEVB.COM 来源:enet论坛

【简 介】
  .NET架构基本由3个部分组成:一套程序级架构,一套基本架构,以及一个通用语言运行库(common language runtime简称 CLR)。根据微软的说法,.NET的目标是使开发者通过一套通用的APS建立更加可靠的应用软件。整个.NET的结构是符合90年代风的。
    
加入收藏 设为首页
<iframe id="flash1" marginwidth="0" marginheight="0" src="http://www.enet.com.cn/enetshow.shtml?Pool=eschoolflash" frameborder="0" width="360" scrolling="no" height="300"></iframe>
<!--include virtual="/eschool/includes/adv/ahua.html"-->
<!--include virtual="/home/includes/v3/gi.html"-->
N72现在售价3500 DELL双核笔记本6599
IBM促销送好礼 800万DC不到1500
<!--wget finished successful flag-->
<!--script> var toDay = new Date(); var now=toDay.getTime(); document.write("<iframe id=nadframe marginwidth=0 marginheight=0 frameborder=0 scrolling=no src='http://view.atdmt.com/API/view/ntcmcchi0100000085api/direct/01/?"+now+"' width=0 height=0></iframe>"); </script-->

function toImage(imageUrl){ var url="/"+4294+"/"+imageUrl; window.open(url); }
运行库是一个动态的、面向对象的环境,同C/C++或者VB的静态环境不同。.NET直接支持网络以及分布式应用。但是.NET是一个完全的革新。.NET平台只是为了提高Windows程序员的生产力。本质上来说,.NET只是为了帮助Visual C++以及Visual Basic程序员跟上时代。

  .NET平台的核心是通用语言运行库。该运行库是一个具有垃圾收集、类型安全性的环境,它通过一个内置语言(internal language 简称IL)来执行代码。运行库的设计师Anders Hejlsberg承认这样的概念不是全新的并把它比作类似于p-code解释器,就象UCSD Pascal那样Hejlsberg也指出内置语言有很多先进的特性,例如支持不同的CPU结构以及类型安全。Hejlsberg同时指出IL能够执行运行前校验提高安全性。现在关于IL的详细的内容仍然没有公开,所以无法对其做出正确的评判以及拿它同Java虚拟器((JVMTM) 相比较。从公开的资料看。CLR的目标实际是Java虚拟器已经实现的东西。  

  CLR包含基本架构以及通用类。这些类包括网络、I/O、集合、安全、初始化等。这些类根据不同的功能使用Name Space分组。这同Java package没有什么区别。令人惊讶的是这些类的名称同Java核心API内的类的名称十分的相似。 

  .NET应用框架包含动态服务页面(ASP+)以及ActiveX数据对象(ADO+)和新的用户界面组件(Windows窗体以及Web窗体),ASP+可以 编译成为中间语言,这同JavaServer PagesTM(JSPTM)最终编译成为Jave字节代码一样。对于ASP+现在还没有第三方供应商。而对于JSPTM有相当多的第三方供应商提供不通平台的解决方案。另外,自由软件Apache已经取代了JSP的位置。  

  微软同时也推出了新的编程语言,称为C#(读C Sharp)。C#是C/C++家族中具有垃圾回收功能的语言。它同Java十分的相似。C#是完全基于对象的,包含一个基本类,同时支持通过界面实现多重继承。C#同Java之间的差异多是主观的,所以很难客观的评价哪一种比较好。微软暗示他们会将C#提交作为业界标准,这种提议值得鼓励,但是C#只是一种语言,并不是.NET平台的全部。微软并没有暗示整个.NET平台会作为业界标准提交,所以标准化只限于语言级。  

  即使这样,C#开发者还是会面对一个问题,使用C#开发就等于将自己绑到了Windows平台上。一个.NET应用程序很难输出到其它平台上。而Java语言、Java虚拟机以及API对于供应商是中立的,不会存在被捆绑到那个平台上的问题。  

  Jave平台比.NET平台优越的方面已经很明显了。关键的区别是Jave平台是一个成熟的、跨平台的解决方案。而.NET只是一个基于Windows的解决方案。微软提出过通用语言运行库可以被输出到其它操作系统,但这只是.NET的一部分。很多基本组件以及所有的应用级架构被捆绑到了Windows平台中。这就是说应用程序只能在.NET平台下建立,只能运行于Windows下。  

  与此相对照的是,所有的Java运行环境具有相同的API核心集,不管操作系统是什么。Java运行环境可以存在于Windows、MacOS Linux、Solaris甚至是OS/390。这就是说可以在桌上计算机上编写及测试代码然后将其安装到高端服务器甚至大型主机上。而.NET平台下编写的程序只能运行在微软平台下。微软说.NET是一个创新的平台,实际上他们所做的只是给程序开发者一副升级的手铐

  (原文是:but what they're really doing is giving developers an updated set of handcuffs) 

  Java平台意味这更多选择。Sun并不是唯一的Java平台供应商。IBM、Symantec、Apple以及一些源代码开放工程都研发了在不同操作系统下的Java平台以及工具。基于Java平台,开发者可以选择不同的开发工具。反之微软则强制他们使用Visual Studio。  

  通过开放源代码,很多Java平台的安全漏洞被检测出来。而并没有迹象微软会公开.NET平台的全部代码。 

  Java平台对于企业来说意味这更多选择,Java运行环境可以通过不通渠道获得并且是可互换的。Sun已经发布了Java 2平台企业版(J2EE)的参考文档。很多第三方供应商已经非常稳定的运行了J2EE解决方案,象BEA Weblogic, IBM Websphere, 以及Bluestone Saphire/Web。这些解决方案所面对的问题是性能以及支持,关于兼容性则完全没有问题,在这些应用服务器上编写的代码可以不经修改的在其它的应用服务器上运行。这对现在的不同企业来说是很有竞争力的。 

  结论

  毫无疑问的,连微软都需要承认:Java平台是一个非常优秀并且取得了巨大成功的技术,它支持跨平台应用、中立供应商的解决方案。而微软仍然在推行单平台、特定供应商的解决方案。.NET平台只是Visual C++以及Visual Basic技术的改进。
分享到:
评论

相关推荐

    .Net 常用图表控件Chart比较

    TeeChart Pro ActiveX 是一个图表控件,适用于可识别 ActiveX 的编程环境——如:MicroSoft Office,VB,VC++,ASP 以及 .NET 等等。该控件能够提供大量的返回信息,在图表领域,本产品是前数以千计同类产品中的佼佼...

    J2EE与.net的比较

    标题中的“J2EE与.NET的比较”是指探讨两种不同的企业级开发平台——Sun J2EE(Java 2 Enterprise Edition)和Microsoft的.NET框架之间的差异和相似性。这两个平台都是为了构建大型、分布式的企业应用程序而设计的,...

    J2EE DotNET 对比 .net java 平台

    .NET则支持C#、VB.NET等多种语言,并且可以通过F#等语言扩展功能。 ##### 7. 迁移自前一代平台 从早期版本的J2EE迁移到最新版本相对容易,而从早期的.NET Framework迁移到.NET Core或.NET 5+则可能需要更多的努力...

    a theory of object

    C#、Java和VB.NET都是支持面向对象特性的语言。C#是由微软开发的一种强类型、面向对象的编程语言,广泛用于构建Windows应用程序和Web服务。它支持类、接口、抽象类等面向对象特性,还有匿名方法、lambda表达式等高级...

    C#深入浅出全接触.pdf

    尽管Sun公司的许可限制使得Java难以完美适配Windows环境,但C#借鉴了Java的许多优秀特性,并在此基础上进行了改进。例如,C#集成了.NET框架的所有类库,简化了语法,提高了代码的易读性和可维护性。总体而言,C#旨在...

    asp.net;php;jsp测试虚拟主机源代码

    它基于.NET Framework,支持C#、VB.NET等多种编程语言,提供了一整套强大的开发工具和服务。在虚拟主机中运行ASP.NET应用程序需要IIS(Internet Information Services)作为Web服务器,并且虚拟主机服务提供商需要...

    c#学习笔记.txt

    如前所述,我是一个狮子座男人,一度我认为学习Java会使我看起来与众不同,可是几个月以后我放弃了这个选择,我看了论坛里关于这两种语言孰优孰劣的讨论,最终选择了C#,请不要问我为何做出这样的选择,很多人认为...

    网上选题毕业设计(asp,jsp,asp.net)源码+论文

    尽管没有明确的ASP.NET源文件,但是可以推测这个项目可能包含用C#或VB.NET编写的ASP.NET代码。 在"admin"目录下,很可能包含了管理员相关的界面和功能,如用户管理、数据维护等。"image"目录存储了网站所需的图片...

    [精通正则表达式(第3版)]中文版.(美)Jeffrey.E.F.Friedl-part1.rar

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MySQL、VB.NET和C#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    协同办公系统(OA)技术架构对比分析.pdf

    它包括C#、VB.NET等编程语言,以及ASP.NET(用于Web应用程序)、Windows Forms(用于桌面应用)等开发工具。.NET架构提供了一种统一的开发环境,支持自动内存管理、垃圾回收和跨语言互操作性。其优点在于与微软的...

    net vs j2ee

    .NET提供了多种编程语言支持,如C#、VB.NET和C++/CLI。此外,.NET还包括ADO.NET用于数据库交互,ASP.NET用于Web应用程序开发,以及Windows Forms和WPF用于桌面应用程序。 .NET 应用程序通常分为三个层次:数据层、...

    管理信息系统软件开发语言(集成环境)

    .NET支持多语言开发,如C#、VB.NET、C++等,其中公共语言运行库为所有语言提供了统一的执行环境,而.NET框架类库则提供了丰富的功能组件。.NET企业服务器和Visual Studio.NET则是开发和部署.NET应用的重要工具。 2....

    精通正则表达式 中英文

    如今,正则表达式已经成为众多语言及工具——Perl、PHP、Java、Python、Ruby、MysQL、VB.NET和c#(以及.NET Framework中的任何语言)——中的标准特性,依靠它,你能以之前完全不敢设想的方式进行复杂而精巧的文本...

    asp jsp php动态网页开发技术研究

    它不仅提供了一种新的开发模型,还支持多种编程语言,如C#、VB.NET等,使得开发者可以构建更为复杂的企业级应用。 **优点** - **面向对象编程**:支持面向对象的编程思想,提高了代码的复用性和维护性。 - **高...

    CSDN.开发高手].CSDN\03-12.pdf

    ### 用 VB.NET 实现基于数据库验证的登录对话框 这里讨论了使用 Visual Basic .NET 来开发具有数据库验证功能的登录界面的方法。这通常涉及到连接数据库、执行 SQL 查询、处理用户输入等内容,是 Web 开发中常见的...

    Mastering Regular Expressions, 3rd Edition pdf

    随着计算机技术的发展,正则表达式已经成为许多编程语言的标准特征之一,如Perl、Python、Ruby、Java、VB.NET、C#(通过.NET框架)、PHP和MySQL等。 #### 本书价值与目标读者 - **未接触过正则表达式的读者**:...

    ArcGIS RIA开发实践【背景篇】【Flex篇】

    - **优点**:跨平台,支持.NET Framework的各种语言,如C#和VB.NET。 - **特点**:使用XAML进行界面设计,具有良好的安全性和性能。 - **适用范围**:适合创建业务流程和企业级应用程序。 ##### Sun JavaFX - **...

Global site tag (gtag.js) - Google Analytics