net对比c语言优点.docx
,net对比c#语言优点.t优点1 .标准集成:XM1.SOAP及其它过去,微软的体系结构建立在COM/DCOM基础上,COM/DCOM是进程间通信的二进制标准。虽然这个标准本身没有什么失误,但是它与微软以外的领域格格不入。也就是说,这个标准成了实现与其它软件平台互操作的瓶颈。除此之外,数据也是一个问题。虽然ADO简化了数据访问,但是把数据从一个地方传送到另外一个地方就成了问题。ADORecordset(记录集)对象是一个存储了数据的二进制结构,而这种二进制格式对于非微软的平台没有任何意义。.Net弥补了这些缺陷,因为它完全基于标准。比如,数据用XM1的格式通过进程边界,而这个数据有一个到XSD的连接,所以任何客户端都可以正确地转化数据。SoAP基于XMU用于与Web服务的通信。集成SoAP以后,不管客户端运行的是不是微软的操作系统,都可以实现简单的可编程访问。2 .简化应用COM所面临的一个头痛的问题就是应用。COM利用WindOWS注册表来定位机器上的组件。这个想法是不错的:每个注册的组件只有一个实例,所有的应用程序都使用相同的版本。COM具有向后兼容性,也就是说新版本兼容老版本,但是开发人员可能会破坏这种兼容性。.Net则采用了不同的方法:它根本就没有使用注册表。相反,微软的建议是每个应用程序使用自己局部的组件(在.Net称为“assemb1y")。利用这种方法,用于应用程序Foo的Assemb1yX如果发生变化,Assemb1yX的App1icationBar不会受到任何影响。这种方法听起来好象以前一台机器上同一个D11的多个拷贝,的确是这样。不过你不会遇到应用程序查找WindowsSystem32目录的问题。由于.Net不使用注册表,很多应用都可以用简单的拷贝命令来完成,通常没有必要开发安装程序。此外,应用程序不会琐定assemb1y,所以升级D11的时候不必关闭应用程序。3 .Web服务支持在流行的Web服务方面,微软发挥着重要的作用,而.Net为开发Web服务带来了前所未有的便利。用NOtePad就可以建立简单的Web服务,甚至不必利用编译器,只要对它们进行简单的调用即可,因为,Net会对它们进行编译,甚至提供一个测试页供用户检验其功能。.Net拥有所有必需的渠道,可以生成用户所需的所有文件,比如WSD1文件。.Net也是一个聪明的Web服务使用者:只要设置了指向某个Web服务的索引,你就可以把它当作本地的assemb1yo你可以获得完整的Inte1许可和功能实现帮助。Web服务对于发送数据是非常重要的,感谢ADO.Net,Web服务可以利用简单或者复杂的数据,并以XM1格式把它们发送到任何客户端,最后设置一个链接,指回到一个描述数据模式的XSD。4 .用于所有.Net语言的标准工具集最终,你会拥有一个适用于所有语言的集成工具集。你会拥有一个统一的IDE、调试工具以及其它类似的工具。因此,其它公司可以把他们的语言嵌入IDE环境,并获得.Net工具所有的支持。比如富士通开发了netCOBO1.Net,它已经直接集成到IDE中,因此可以用COBO1编写Web服务和Windows应用并获得微软提供的调试和PrOfiIing(监管)工具。,Net是个开放的架构,所以其它厂商也可以提供自己的工具。比如Bor1and,该公司已经宣布其下一版DeIPhi将具有建立.Net应用的功能,同时它也保证,De1Phi会拥有自己的IDE,不会嵌入ViSUa1Studio.Neto5,对移动设备的支持Visua1Studio.Net发布不久,微软就推出了移动Internet工具包(MicrosoftMobi1eInternetToo1kit,IT),以便用.Net构建移动应用。该工具包提供了可视化功能,你可以直观地拖动和下拉面向移动设备的窗体和控件。该工具包有利于正确书写标记语言(比如WM1、WAP等等)。.Net简化架构(.NetCompactFramework)不久就会面市,它是.Net架构的缩略版,设计用于PoCketPC设备。有了这个架构,开发人员就可以开发出丰富的POCketPC计算机应用。你可以编写一个运行于小型设备上的应用,比如用于PoCketPC设备或者具有Web功能的手机。事实上,MMIT包含了很多仿真程序,它们使用了真正为这类设备编写的RoM代码,所以在你的应用程序投入使用之前,可以首先测试其用于此类设备时的性能。6 .代码管理.Net管理用户的代码,从很多方面看,这一点都是很重要的,比如减少bug以及构建更多可扩展的应用。.Net可以处理以下操作:内存分配和回收,进程及线程的创建和终止,以及运行代码的访问许可。VB开发人员先前面临的问题一一比如内存管理、线程和进程创建一一现在都可以由.Net来处理。而C+程序员可以转向C#,.Net代替他们处理这些操作后,内存泄露和其它bug出现的可能性将大大减少。拥有了被管理的代码,你可以访问.Net所有跨语言的能力。7 .平台独立虽然.Net是为微软的操作系统创建的,但是微软的确为ECMA标准委员会发布了一部分框架和C#。比如,MonoPrOjeet实现了1inUX的.Net,包括架构和C#编译器。这意味着很多应用(特别是基于Web的应用)一次编写完成后就可以运行于多种平台上。8 .充足的学习资源.Net的学习曲线非常重要,可能.Net的方面的书要比其它所有编程技术的书都多。此外,微软和第三方团体开设了很多课程,可以让开发人员很快就上手。最后,很多网站为开发人员员学习.Net提供了技术和指导。9 .现代化语言VB.Net和C#都是现代化的语言。它们完全是面向对象的,设计的时候消除了很多VB和C+的矛盾。这两种语言使用了多层式架构(n-tier),这是一种基于组件的方法。比如,C#取消了指针和其它一些结构,它们曾经给C+程序员(特别是新手)带来很多严重的问题。代码由.Net架构管理后,VB.Net和C#都从中受益。这个架构还包括一些基础的对象,它们是开发多线程、支持XM1等应用所必须的。10 .跨语言标准基本类型VB开发人员曾经面临一个致命的问题:VB中的字符串与C+中的字符串不同,所以调用WindowsAPI函数的时候会出现一些问题。.Net确定了所有类型的标准定义,所以VB中的字符串和C#中的字符串相同,也和netCOBO1.Net中的字符串相同。这意味着你再也不必担心语言A中的整型数据是32位而语言B中只有16位。你可以确信不同语言的数据类型都相同,可以更好地进行跨语言集成。C#优点1 .语法简洁。不允许直接操作内存,去掉了指针操作。2 .彻底的面向对象设计。C#具有面向对象语言所应有的一切特性一封装、继承和多态。3 .与Web紧密结合。C#支持绝大多数的Web标准,如HTM1、XM1、SoAP等。4 .强大的安全机制。可以消除软件开发中的常见错误(如语法错误),.NET提供的垃圾回收器能够帮助开发者有效地管理内存资源。5 .兼容性。因为C#遵循.NET的公共语言规范(C1S),从而保证能够与其他语言开发的组件兼容。6 .灵活的版本处理技术。因为C#语言本身内置了版本控制功能,使得开发人员可以更容易地开发和维护。7 .完善的错误、异常处理机制。C#提供了完善的错误和异常处理机制,使程序在交付应用时能够更加健壮。