解析VB转型到VB.NET的必要性

来源:岁月联盟 编辑:exp 时间:2009-10-11

VB.NET还是比较常用的,于是我研究了一下VB转型到VB.NET的必要性,在这里拿出来和大家分享一下,希望对大家有用。

从VB转型到VB.NET的必要性:

虽然VB得到了很多人的认可,也有许多配套产品都提供了VB的接口。但随之时间的延续,其缺点也逐渐暴露了,有些甚至是无法"容忍"的。首先作为一种解释性的语言,不仅程序执行速度慢,并且在分发应用程序时,还需要带上解释库;其次VB并非完全的面向对象的开发语言,从根本上说,它应该是一种面向过程的开发语言。

而VB.NET做为下一代的VB语言,它是一种为开发.Net平台应用程序而度身定做的程序语言。因为VB.NET中完全集成了.Net FrameWork(.Net框架)和CLR(Common Language Runtime,即:公共语言运行时)。同时.Net 框架和公共语言运行时又共同提供VB.NET语言互操作性、垃圾资源回收、可靠安全性和版本改进的支持。通过VB.NET能够简便、快捷地创建.Net平台应用程序、XML Web services 和 ASP.NET Web 应用程序。VB.NET做为开发.Net平台的程序语言,那它就为开发现跨平台程序创造了可能。因为我们知道,微软推出.Net,其目的之一就是实现跨平台。虽然目前微软只提供了在Windows平台上运行的.Net框架,还无法实现真正意义上的跨平台,但随着MONO的出现(虽然它还存在很多问题,并且目前的MONO只为C#提供支持),但可以预见的是在不久的将来,VB.NET实现Write Once And Run AnyWhere的时间不会太久。

VB.NET是一种编译性的语言,但这种编译和以前接触的编译有所区别。因为经过VB.NET编译器编译后得到文件并不是可以在计算机直接运行的二进制文件。它的性质是一种IL文件(中间语言文件)。在运行IL文件时,首先是通过CLR下的JIT(即时编译器),把这种IL文件再编译成二进制文件。我们看到的程序运行,其实是经过JIT编译后的二进制文件在执行。这时可能有很多朋友会问,这种二次编译是否多此一举,具体实现中是否很麻烦,是否会影响程序的运行速度?二次编译的确是影响了程序运行的速度,但它却为实现跨平台带来了可能。其实这种编译过程犹如Java中的JVM(Java虚拟机)。正是JVM才使得Java能够开发出跨平台的应用程序。二次编译是CLR在.Net框架下自动实现IL文件到二进制文件转变的,它是一种自动完成的,并不需要人员的参与,所以它并不会给程序执行带来麻烦。

VB.NET 还是一种真正的面向对象的开发语言,可以说OOP思想已经深入到语言中的任一角落,如:在VB.NET中创建的Windows组件,就是从类中继承,类经过实例化得到的。VB.NET还增加了许多新功能和改进功能,如继承、接口和重载等,这些都使VB.NET成为功能强大的面向对象的编程语言。

微软公司在推出VB.NET的同时,还推出了VB.NET的开发工具Visual Studio .Net。Java程序员羡慕VB.NET程序员的重要原因之一就是,VB.NET拥有一个任何比目前Java程序员所使用的开发环境都好的集成开发环境--VB.NET,以上介绍VB转型到VB.NET的必要性。