随着Windows3.0的推出,越来越多的开发商对这个图形界面的操作系统产生了兴趣,大量的Windows应用程序开始涌现。但是,Windows程序的开发相对于传统的DOS有很大的不同,开发者必须将很多精力放在开发GUI上,这让很多希望学习Windows开发的人员却步。1991年,微软公司展示了一个叫Thunder的产品,所有的开发者都惊呆了,它竟然可以用鼠标“画”出所需的用户界面,然后用简单的BASIC语言编写业务逻辑,就生成一个完整的应用程序。这种全新的“Visual”的开发就像雷电(Thunder)一样,给Windows开发人员开辟了新的天地。这个产品最终被定名为VisualBasic,采用事件驱动,QuickBASIC的语法和可视化的IDE。VisualBasic1.0带来的最新的开发体验就是事件驱动,它不同于传统的过程式开发。同时,VBX控件让可视化组件的概念进入VisualBasic。VisualBasic1.0是革命性的BASIC,它的诞生也是VB史上的一段佳话。
VisualBasic1.0
1992-渐入佳境的VisualBasic,由于Windows3.1的推出,Windows已经充分获得了用户的认可,Windows开发也进入一个新的时代。VisualBasic1.0的功能过于简单,相对于Windows3.1的强大功能没有发挥出来。所以,微软在1992年推出了新版本VisualBasic2.0。这个版本最大的改进就是加入了对象型变量,比如
DimbAsCommandButton
DimcAsControl
而且有了最原始的“继承”概念,对象型变量分为一般类型(Control和Form)和专有类型(CommandButton和Form1等),一般类型的变量可以引用专有类型的实例,甚至通过后期绑定访问专有类型的属性和方法。还可以通过TypeOf…Is运算符获取对象实例的运行时类型信息(这个功能就是当今C#的is运算符或Java的instanceof运算符)。除了对语言的改进和扩充,VisualBasic2.0对VBX有了很好的支持,许多第三方控件涌现出来,极大地丰富了VisualBasic的功能。微软还为VisualBasic2.0增加了OLE和简单的数据访问功能。
VisualBasic2.0标准版
VisualBasic2.0专业版
1993-数据库组件新添力量
VisualBasic2.0推出没几个月,微软就发布了新版本的VisualBasic3.0,可以看出VB这时候旺盛的生命力。乍一看,VisualBasic3.0的界面没有太大的变化,但其实这个版本是非常及时的。它增加了最新的ODBC2.0的支持,Jet数据引擎的支持和新版本OLE的支持。最吸引人的地方是它对数据库的支持大大增强了,Grid控件和数据控件能够创建出色的数据窗口应用程序,而Jet引擎让VisualBasic能对最新的Access数据库快速地访问。VisualBasic3.0还增加了许多新的金融函数。此外还增加了相当多的专业级控件,可以开发出相当水平的Windows应用程序。VisualBasic3.0是98年以前中国最流行的VisualBasic版本,因为它开发出来的可执行文件非常小,通常能用一张软盘装下。不过,VisualBasic采用虚拟机运行P代码的做法也让很多开发者不满,他们认为这样程序运行的效率很低,这时候VisualBasic的竞争者Delphi也诞生了。
VisualBasic3.0特别版
1995-第二次革命性变化,向COM进军。
从1993年到1995年年中,VisualBasic一直没有新的动静,焦急的开发者都想一窥这个神秘的新版本到底发生了什么变化。VisualBasic4.0的BETA最后终于和大家见面了。这个版本包含了16位和32位两个版本,16位的版本就像是VisualBasic3.0的升级版,而32位版则是一场新的革命。首先,人们发现VBX控件不见了,全部换成了OCX控件,这个OCX可能是指OLECustomControls,这个OLE已经不是传统的OLE了,用现在的话说,它就是COM控件。第二个最大变化是VisualBasic4.0所用的语言换成了VisualBasicForApplication,这就和Office95所采用的宏语言统一起来,这个新语言有很多亮点:
1、加入了“类模块”。这是面向对象最重要的封装性的基础。
2、加入了属性过程,加上函数过程,子程序过程,VB已经有组件开发所需的封装性特征。
3、加入了Byte类型、Boolean类型和Object类型。这大大完善了VB的类型系统。
4、ForEach语句和Collection对象。ForEach语句给遍历集合类型提供了极大的方便,现在可以在动态增长的Collection上使用ForEach,而不用担心集合内容的总数或烦人的下标问题。
这个版本的VisualBasic还能够开发DLL工程,其实就是COM的DLL,可以将书写好的类用这种方式和其他语言共享。
总之,这个4.0的版本为VisualBasic成为一种COM语言奠定了基础。用VisualBasic4.0开发基于COM的DLL比任何一种开发工具都方便。但是,VisualBasic4.0的性能问题变得更加严重了,P-代码的组件成为VisualBasic4.0严重的性能瓶颈,而且巨大的运行库也让用户感到不满。VisualBasic4.0对以前版本的支持也不好,使用了大量VBX的项目很难移植到VisualBasic4.0中。因此,VisualBasic4.0在中国的普及程度非常低。
VisualBasic4.0
1997-VisualBasic的丰收年
1997年,微软推出了VisualBasic5.0,这个版本的重要性几乎和4.0一样高。COM(这时候叫ActiveX)已经相当成熟,VisualBasic5.0当然对它提供了最强的支持。不过,国内还没有意识到COM的重要性前主要对这个版本另一个最大的亮点十分关注:本地代码编译器。VisualBasic5.0终于在用户的呼声中加入了一个本地代码编译器,它可以让应用程序的效率大大提升。除了这个大家都知道的改进以外,VisualBasic5.0对VisualBasicForApplication语言有重大的完善和丰富:
5、事件。VisualBasic5.0终于允许用户自己创建事件,而且这事件的语法相当强健和完善,这在一种不支持函数回调的语言中是很难得的。现在,VB拥有属性、方法和事件的完整封装性。
6、接口。这是VB实现多态性的基础。同时为编写COM组件提供了更多方便。
7、枚举。在VisualBasic5.0中枚举作为Long整型的子类型出现,用枚举可以对常量进行完善的封装。
8、类模块的改进。通过类模块的属性可以指定类模块具有多种指定的行为,如私有构造函数等,可以通过这个功能创建符合Singleton和Monostate模式的设计。
9、Debug.Assert。虽然这个断言系统有点鸡肋,但是总算是给调试带来了方便。
10、VisualBasic5.0支持创建自己的集合类。可以创建用于ForEach语句的集合类型。
11、新的数据类型Decimal,可以精确地处理有效数位较多的计算。
VisualBasic5.0的IDE支持“智能感知”,这是一项非常方便开发者的功能,可以不必记住很长的成员名称和关键字,只要按“.”,想要的东西统统弹出来。
VisualBasic5.0还支持开发自己的ActiveX控件、进程内的COMDLL组件、进程外的COMEXE组件以及在浏览器中运行的ActiveX文档。这极大丰富了VisualBasic的开发能力,在Internet开发上,VisualBasic5.0也能有所建树。
->