当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > C#是一种新的语言?或者仅仅只是Java

ASP.NET
FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
.NET 常用功能和代码小结
在 .NET Framework 2.0 中未处理的异常导致基于 ASP.NET 的应用程序意外退出
asp.net IList查询数据后格式化数据再绑定控件
asp.net sql存储过程
asp.net 简单实现禁用或启用页面中的某一类型的控件
asp.net(c#)获取内容第一张图片地址的函数
The remote procedure call failed and did not execute的解决办法
ASP.NET 在线文件管理
asp.net 读取并修改config文件实现代码
ASP.NET Cookie 操作实现
asp.net Silverlight中的模式窗体
Silverlight中动态获取Web Service地址
asp.net Silverlight应用程序中获取载体aspx页面参数
asp.net 水晶报表隔行换色实现方法
asp.net 获取Gridview隐藏列的值
手动把asp.net的类生成dll文件的方法
asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分页
动态指定任意类型的ObjectDataSource对象的查询参数
asp.net Md5的用法小结

ASP.NET 中的 C#是一种新的语言?或者仅仅只是Java


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

最开始时微软公司将Java当做一种能解决C和C++中存在的问题的语言,并不在意,并继续维持和培训着其C和C++技术和编程人员。接下来不幸的是,正当微软尽力在Visual J++基础上拓展Java功能,并使之与Windows操作系统紧密结合在一起的时候,Sun公司对微软提出法律诉讼说其违反了许可证协议中的条款,最终的结果是微软公司不得不停止其Visual J++产品的开发。(微软公司仍然销售Visual J++,但是从1998年10月以来就没有新的版本发布,并且在.Net平台上也没有Visual J++的位置了)接下来的事情就很清楚了,微软公司开发了C#语言。接下来的一部分将讨论C#与Java的相似性。

C#与Java的区别

C#最引人的地方是它与Java的区别而不是其相似性。下面主要来介绍C#区别于Java的不同的运行特点及Java完全没有的特点。

中间语言

当MSIL被编译成最终的机器码时,微软公司在如何选择上是非常灵活的。微软公司很谨慎的对外宣称说MSIL不是解释型的,而是被编译成机器码。因为开发人员都有这样一个观念:Java程序天生就比C程序运行慢,所以这暗示着基于MSIL的程序优于解释型的Java字节码。当然,既然C#和其它MSIL产品编译器还未发布,那么这一点就还未证明,但是Java无处不在的即时编译器使得C#和Java在效能上是一样的。象“C#是编译型的,Java是解释型的”这样话只是销售中的技巧。Java的字节码和MSIL码都是的类似汇编的中间语言,在运行时执行这些中间码。

与COM的整合

对于基于Windows的C#开发人员来说,最大的收获是对COM的无损整合,COM是微软Win32的组件技术。实际上,任何一种.Net体系结构上的语言最终都可能去写COM的客户端和服务器端程序。用C#编写的类也会作为COM组件的子类;结果类(resulting class)也能作为COM组件使用,并作为COM组件的子类。

微软公司的目标是使越来越多的语言都能访问组件,并使这些组件能整合到.Net体系结构中。已有几个厂商开始着手开发支持.Net功能的编程语言,如COBOL和Haskell。开发人员能选择不同的语言解决不同问题,更重要的是,开发人员不必为采用.Net体系结构而必须学习新语言,可以选择一种他们熟悉的语言。

总结

本文的第一、二部分对C#做了一肤浅的总体介绍,主要是其产生动机及与Java的相似性。第三部分则涵概了C#的语言特点。用范例说明了C#与Java两者在相似性外,它们又是非常不同的,有许多细微的语义和设计区别,适合不同的技 术和市场环境,又谈到了微