1.1 Visual Basic概述
1.1.1 Visual Basic发展史
Basic(Beginner’s All-Purpose Symbolic Instruction Code,初学者通用符号指令代码)是专门为初学者设计的计算机编程语言。它诞生于1964 年,问世时只有几十条语句,由于简单易学而受到用户的欢迎。
随着计算机的日益普及,Microsoft公司对其Basic产品做了许多方面的改进,从而推出了Quick Basic并得到了广泛的好评。
20世纪90年代初,随着Windows操作系统的逐渐流行,PC的操作方式由命令行方式向图形用户界面(GUI,Graphic User Interface)方式转变。Microsoft公司凭借强大的技术优势,使Basic也向可视化编程方向发展,终于在1991年诞生了第一代的Visual Basic产品。
随着Windows操作系统的不断成熟,Visual Basic产品由1.0版升级到了3.0版,此时Visual Basic已初具规模了,利用它可以快速地创建各种应用程序,包括非常流行的多媒体应用和各种图形操作界面程序。
几年前,面向对象技术出现了,Microsoft公司迅速地把这一技术嵌入到了Visual Basic产品中,于是诞生了Visual Basic 4.0。除具有Visual Basic 3.0的功能外,Visual Basic 4.0还提供了强大的数据库管理功能,这使得它成为管理信息系统(MIS,Management Information System)中重要的开发工具。
随着Internet技术的迅猛发展,Microsoft公司推出了ActiveX技术,并将其加入到Visual Basic 5.0版本中(1997年)。在1998年,Microsoft公司推出了Visual Basic 6.0版本,这一版本得到了很大的扩充和增强。它引入了使用部件编程的概念,实际上这是对面向对象编程思想的扩展。迄今为止,Visual Basic已经发展成为快速应用程序开发(RAD,Rapid Application Development)工具的代表。
目前,微软公司推出了Visual Basic的最新版本即Visual Basic .NET 2005。本书主要介绍Visual Basic 6.0版本。
1.1.2 Visual Basic 6.0的特色
Visual Basic 6.0具有以下主要的功能特点。
1.可视化
Visual Basic 6.0(下面简称Visual Basic)是可视化的程序设计语言,有“所见即所得”的特点。开发人员只需要按设计要求对屏幕布局,用系统提供的工具直接在屏幕上“画”出窗口、菜单、按钮、滚动条等不同类型的对象即可。
2.面向对象
在Visual Basic中,窗体及控件称为对象。这些对象组成了与用户交互的图形界面(也称为用户界面)。Visual Basic是面向对象的程序设计语言,它将代码和数据结合在每个对象中,用户只需了解每个对象能完成何种任务,不必知道对象是如何工作的,而程序设计人员只需编写实现程序功能的那部分代码,这样就大大提高了程序设计的效率。但Visual Basic没有多态等面向对象的特性,所以也有人称Visual Basic是准面向对象的程序设计语言。
3.事件驱动
Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应,而各个事件之间却不一定有联系。这样的应用程序代码较短,使程序既易于编写又易于维护。
4.沿用结构化程序设计的思想
Visual Basic具有丰富的数据类型、众多的内部函数,并且采用结构化程序设计结构,简单易学。
5.易学、易用的集成开发环境
Visual Basic提供了易学、易用的应用程序集成开发环境。在该集成开发环境中,用户可设计界面、编写代码、调试程序,直至把应用程序编译成可执行文件使其直接在Windows环境中运行。
6.Visual Basic支持多种数据库系统的访问
采用了对象的链接与嵌入(OLE,Object Linking and Embedding)技术可以很方便地开发出集声音、图像、动画、字处理、Web等对象于一体的应用程序。
1.1.3 开发平台比较
目前开发数据库的平台有很多,下面是笔者推荐的一些常用开发语言:Delphi、PowerBuilder、Java、Visual C++、.NET等。
1.Delphi开发平台
Delphi开发语言的大名,相信很多读者都听说过了。Delphi经过多年的发展,已经发展到了2006 版本,是一种综合性的开发语言。具有很强大的开发能力,因此有评价说它有Visual C++的功能,又有Visual Basic的易用性,受到了广泛的欢迎。具体说来它具有以下的优点:
(1)具有可视化的开发界面,能够快速地开发出各种应用程序;
(2)具有强大的数据库开发能力,能开发出各种数据库应用程序;
(3)全面支持API函数,能够直接调用系统的各种API;
(4)得到很多第三方组件的支持,用户能够很轻松地开发出各种复杂功能;
(5)企业应用MDA开发,让开发者能够减少从设计到开发所需的编码数量和时间,从而加速应用程序开发进程;
(6)可视Web开发,在Delphi 2006环境下,能够进行可视Web应用开发,它的应用模式(Application Mode)框架能够在切断与服务器连接的情况下进行透明的对话(session)管理;
(7)最新版本集成了XML等最新技术特点,能开发出各种.NET程序。
虽然Delphi是一种很好的开发语言,但它并不是十分完善,如调试功能并没有Visual Studio那么强大;它采用Pascal作为基本的开发语言,对于习惯用C语言的用户来说也不是很方便;在开发数据库方面虽然有很强的能力,但是作为一门综合性的开发语言,它提供了多种数据库开发手段,对一般读者来说并不容易接受;采用Delphi开发数据库程序经常需要单独安装BDE引擎;另外由于Delphi发展比较快,因此本身还有一些地方没有完善。
2.PowerBuilder开发平台
相信读者对PowerBuilder开发平台一定也很熟悉,尤其是数据库程序员。PowerBuilder也是一个综合性的开发平台,能够开发各种应用程序。目前已经发展到11.0版本,同早期的版本相比,有了长足的改进。PowerBuilder最大的优势就是其在数据库开发方面的强大功能。PowerBuilder具体有以下特点:
(1)面向对象的开发工具,具备封装性、继承性、多态性等特点;
(2)快速的可视化编程工具,能快速开发各种应用程序;
(3)强大的数据库开发能力,尤其是其独特的有自己专利的数据窗口的超强功能;
(4)提供功能强大的基础类库PFC,同操作系统紧密结合,开发各种功能强大的综合性程序;
(5)具备各种大型数据库开发的专用接口,能够快速开发各种大型数据库的应用程序。
PowerBuilder 11.0的最新功能支持Web Service,并整合了Java、.NET技术,具备了下一代开发平台的各种技术特性。
前面提到,PowerBuilder最大的能力就是其强大的数据库开发功能,因此对那些想专门从事数据库开发的程序员来说,PowerBuilder是一个很好的选择;但是如果作为一种综合性的开发平台,同其他开发平台还有一定的差距。
3.Java开发平台
Java是目前最热的开发语言之一,Java和微软的.NET之争也是此起彼伏,但是无可否认,Java是一种真正的面向对象的、优秀的网络开发语言。Java是一种综合性的开发语言,其最大的优势还是在网络开发方面。具体有以下特点:
(1)是真正面向对象的开发语言;
(2)具有强大的网络开发能力;
(3)分布式开发语言;
(4)平台无关性,代码能够自由地移植;
(5)具有很强的安全性和可靠性,去掉了C、C++语言中的指针。
Java目前已经在大型的网络数据库中发挥了重大的作用,但是主要开发B/S(浏览器/服务器)结构,因此对于一些中小型的基于C/S(客户端/服务器)结构数据库应用程序并不合适;同时由于Java是属于解释执行的,因此不可避免地降低了执行效率,对硬件的要求很高;同时目前Java语言的开发工具也并不十分令人满意,开发效率低下。因此对于一般企业的数据库程序开发,Java语言并不是十分适合。
4.Visual C++开发平台
Visual C++可以说是名气最大的开发平台了,也是微软开发语言中最为成功的。目前业界使用最为广泛的就是Visual C++开发平台,广泛应用于网络程序开发、图像处理应用、数据库开发,以及各种工程应用,而这些都是凭借其功能超群的开发能力。Visual C++目前最为成熟的版本是6.0,具体的开发特点如下:
(1)是面向对象的开发语言;
(2)同Windows操作系统紧密结合;
(3)功能强大,能开发出各种优秀的应用程序;
(4)强大的MFC基础类库;
(5)执行效率高。
虽然Visual C++的功能很强大,但是也有一些不足之处,如对开发者的要求比较高,要很长时间的学习才能够开发出比较好的应用程序;开发效率不高,实现相同的功能,Visual C++ 需要写更多的代码;Visual C++在数据库开发方面的应用不是很广泛,除非比较大型的、商业性强的软件会采用Visual C++来开发。
5..NET开发平台
.NET应该是目前曝光率比较高的一个词汇了,它是微软推出的革命性的开发平台,与原来的开发平台有本质的区别。目前最新的.NET开发平台包括了Visual Basic.NET、VC.NET、Visual FoxPro.NET、C#等,这些语言的开发版本同以前的版本都有了极大的区别。.NET开发平台具有如下一些最新特点:
(1)与XML完全集成;
(2)全新的远程调用对象Web Service和NET Remoting;
(3)语言无关性;
(4)虚拟机运行模式,有助于平台无关性的提高;
(5)高效率的集成开发环境;
(6)完全面向对象的Visual Basic.NET和全新的“.NET语言”C#。
.NET平台诞生还不久,但是成长速度惊人,已经占有越来越多的市场份额。与其主要竞争对手Java相比,.NET在Windows平台下执行速度较快,且拥有一个极其强劲的集成开发环境(Visual Studio.NET 2005),但在企业开发的某些特性方面还比较欠缺(如O/R Mapping)。随着.NET平台和Java平台的竞争发展,.NET和Java都会吸收对方的优点,而变得越来越相似。
以上各种开发平台各有优缺点,读者应该以实际开发的项目、个人的编程能力等因素出发,选择合适的开发平台。
编者手记
读者在开发大型项目,并且涉及跨平台应用时建议使用Java作为开发平台;读者在开发大中型项目,而且要求有比较高的开发效率时,建议采用.NET开发平台;在进行中小型数据库项目开发的时候,建议采用Visual Basic、Delphi及PowerBuilder开发;而进行硬件、图像等专业编程时,则推荐使用Visual C++作为开发工具。