1.1.2 与其他语言的比较

由于.NET框架的设计借鉴了许多其他编程语言的优点,因此在某些方面很像个别的编程语言。

在运行机制上,.NET框架非常类似于Java语言。与Java虚拟机相对应,.NET框架中的通用语言运行时(CLR)就有类似的作用。.NET框架中的编程与其他高级语言有所不同的是,在编译时并不是直接生成本机可直接运行的代码,而是生成了一种名为微软中间语言(MSIL)的代码。在运行时,再由CLR将其转换为与平台相关的代码。

由于.NET框架这种特殊的机制,为.NET框架带来了一些先进的特性。

1.平台无关

.NET框架编写出来的代码是与平台无关的,只要该平台支持.NET框架的运行时,那么就可以直接在该平台上运行。

2.性能提升

在.NET框架的运行机制中,尽管与Java语言类似,但是还有很大的不同。在CLR进行第二步编译时,.NET框架采用了一种名为即时编译(JIT)的技术。与Java语言的解释不同,.NET框架并不是在一开始就将全部的代码编译为本机代码,而是当某部分代码被调用时编译该部分代码,一旦编译成功,在下一次被调用时无须再次编译。因此在性能上来说,.NET框架在采用类似虚拟机技术的语言中是有优势的。

3.语言互操作性

由于MSIL的存在,使得.NET框架下语言之间的互操作性成为可能。也就是说,在.NET框架支持的语言中,各种语言在第一步编译时实际上都被编译成MSIL代码,而MSIL代码是不存在语言差别的,因此语言之间的互相调用得以实现。这一点在某些方面有很重要的应用,比如开发人员可以任意选用自己熟悉的编程语言,他们之间的代码共享和相互调用不会存在任何障碍。

.NET框架中默认提供了对以下几种常见语言的支持:

● Visual C# 2005。

● Visual Basic 2005。

● Visual C++ 2005。

● Visual J# 2005。

这些语言之间的互相调用都可以实现,同样,将来.NET框架支持的语言之间也可以进行语言之间的互操作。