只有真正的程序员才使用VisualC++。反过来,则并不见得如此。最近似乎有许多专业的程序员放弃了使用这一语言而改用了其它产品提供的RAD(快速应用开发)环境。许多人认为VisualC++太古老、太烦琐、学起来太困难了。
说句实在话,VisualC++的学习周期确实比其它语言要长。可以很轻易地引入需要花上数小时才能排除的微妙错误这一事实一点也无助于提高程序员的开发效率。
然而,让我们先把这些负面缺陷暂时放到一边,来看一看VisualC++具备的长处。使用VisualC++主要的原因之一就在于它的灵活性。你可以彻底地控制整个开发环境。其它语言则更多地趋向于庇护程序员,当要做一些基本的东西时,它们会做得很好。不幸的是,当你需要使用像C++这样的语言删除编程中的繁文缛节,并把任务完成时,这种保护作用就变成了开发工作的障碍。
长期以来,VisualC++一直拥有能够创建短小高效程序的美誉。使用这种语言编写的程序几乎可以与用汇编语言编写的程序达到相同的运行速度,并且避免了汇编语言存在的各种问题。C++实际上是介于汇编语言中寄存器编程的神秘莫测和像Pascal这种保护型编程环境方便性之中间难度的语言。
C++是编写诸如操作系统、设备驱动程序以及动态链接库(DLL)的强大语言,这一点不会不引起你的注意,这三种领域代码的开发依然是VisualC++的主战场。VisualC++生成的短小、快速的代码在操作系统类对时间要求很高的系统中获得了极高的赞誉。
到现在为止,我告诉你的一切你可能已经在其它书籍中看过无数遍了。下面就让我讲一些这个版本的VisualC++中独有的内容。Microsoft添加到这个版本的VisualC++中的最新特性之一是更佳的原型能力,这一点通过增强的向导来实现。现在,这个特性还不能把VisualC++提升到像VisualBasic向导相同的水平上,但它确实减少了开发应用程序的入门时间棗这是个深受欢迎的变化。另外,增强的向导使得这个版本的VisualC++比以前版本更为友好(本章的后续部分我将全部用于介绍VisualC++的其它新特性)。
VisualC++也是编写ActiveX控件以及像ISAPI(Internet服务器应用程序接口)扩展和ISAPI过滤器这样针对IIS的专用代码的理想编程环境。即使对属于快速应用程序开发环境中的应用程序编程来说,也没有人愿意花时间从Inter-net上下载一个巨型控件,也同样没有人愿意让慢速的过滤器加重Web服务器的负担。VisualC++可以生成人们真正想要的简短可执行文件。另外,VisualC++提供的额外灵活性也使得编写这些类型的应用程序更加容易些。本书中我们将花些时间来研究ActiveX控件,因此这里我就不再多讲了。我还为使用Web服务器的人们准备了几个ISAPI扩展和ISAPI过滤器的示例。