二.从Visual Basic转型到Visual Basic Net的必然和必要性
虽然Visual Basic得到了很多人的认可也有许多配套产品都提供了Visual Basic的接口但随之时间的延续其缺点也逐渐暴露了有些甚至是无法容忍的首先作为一种解释性的语言不仅程序执行速度慢并且在分发应用程序时还需要带上解释库其次Visual Basic并非完全的面向对象的开发语言从根本上说它应该是一种面向过程的开发语言
而Visual Basic Net做为下一代的Visual Basic语言它是一种为开发Net平台应用程序而度身定做的程序语言因为Visual Basic Net中完全集成了Net FrameWork(Net框架)和CLR(Common Language Runtime即公共语言运行时)同时Net 框架和公共语言运行时又共同提供Visual Basic Net语言互操作性垃圾资源回收可靠安全性和版本改进的支持通过Visual Basic Net能够简便快捷地创建Net平台应用程序XML Web services 和 ASPNET Web 应用程序Visual Basic Net做为开发Net平台的程序语言那它就为开发现跨平台程序创造了可能因为我们知道微软推出Net其目的之一就是实现跨平台虽然目前微软只提供了在Windows平台上运行的Net框架还无法实现真正意义上的跨平台但随着MONO的出现(虽然它还存在很多问题并且目前的MONO只为C#提供支持)但可以预见的是在不久的将来Visual Basic Net实现Write Once And Run AnyWhere的时间不会太久
Visual Basic Net是一种编译性的语言但这种编译和以前接触的编译有所区别因为经过Visual Basic Net编译器编译后得到文件并不是可以在计算机直接运行的二进制文件它的性质是一种IL文件(中间语言文件)在运行IL文件时首先是通过CLR下的JIT(即时编译器)把这种IL文件再编译成二进制文件我们看到的程序运行其实是经过JIT编译后的二进制文件在执行这时可能有很多朋友会问这种二次编译是否多此一举具体实现中是否很麻烦是否会影响程序的运行速度?二次编译的确是影响了程序运行的速度但它却为实现跨平台带来了可能其实这种编译过程犹如Java中的JVM(Java虚拟机)正是JVM才使得Java能够开发出跨平台的应用程序二次编译是CLR在Net框架下自动实现IL文件到二进制文件转变的它是一种自动完成的并不需要人员的参与所以它并不会给程序执行带来麻烦
Visual Basic Net 还是一种真正的面向对象的开发语言可以说OOP思想已经深入到语言中的任一角落如在Visual Basic Net中创建的Windows组件就是从类中继承类经过实例化得到的Visual Basic Net还增加了许多新功能和改进功能如继承接口和重载等这些都使Visual Basic Net成为功能强大的面向对象的编程语言
微软公司在推出Visual Basic Net的同时还推出了Visual Basic Net的开发工具Visual Studio NetJava程序员羡慕Visual Basic Net程序员的重要原因之一就是Visual Basic Net拥有一个任何比目前Java程序员所使用的开发环境都好的集成开发环境Visual Studio Net