使用C语言和原始的API不是编写Windows 98程式的唯一方法。然而,这种方法却提供给您最佳的性能、最强大的功能和在发掘Windows特性方面最大的灵活性。可执行档案相对较小且运行时不要求外部程式库(自然,Windows DLL自身除外)。最重要的是,不管您最终以什么方式开发Windows应用程式,熟悉API会使您对Windows内部有更深入的了解。
虽然我认为学习古典的Windows程式设计对任何Windows程式写作者都是重要的,我没有必要建议使用C和API编写每个Windows应用程式。许多程式写作者,特别是那些为公司内部开发程式或在家编写娱乐程式的程式写作者喜欢轻松的开发环境,例如Microsoft Visual Basic或者Borland Delphi(它结合了物件导向的Pascal版本)。这些环境使程式写作者将精力集中于应用程式的使用者介面和相关使用者介面物件的程式码上。要学习Visual Basic,您也许需要参考Microsoft Press的一些其他图书,例如Michael Halvorson1996年著的《Learn Visual Basic Now》。
在专业程式写作者中-特别是那些开发商业应用程式的程式写作者-Microsoft Visual C++和Microsoft Foundation Class Library(MFC)是近年来流行的选择。MFC在一组C++物件类别中封装了许多Windows程式设计中的琐碎细节。Jeff Prosise的《Programming Windows with MFC,第二版》(Microsoft Press,1999年)提供了MFC程式的写作指南。
最近,Internet和World Wide Web的流行大力推广著Sun Microsystems的Java,这是一个受C++启发却与微处理器无关的程式设计语言,而且结合了可在几个作业系统平台上执行的图形应用程式开发工具组。Microsoft Press有一本关于Microsoft J++(Microsoft的Java)开发工具的好书,《Programming Visual J++ 6.0》(1998年),由Stephen R. Davis著。
显然,很难说哪种方法更有利于开发Windows应用程式。更主要的是,也许是应用程式自身的特性决定了所使用的工具。不管您最後实际上使用什么工具写作程式,学习Windows API将使您更深入地了解Windows工作的方式。Windows是一个复杂的系统,在API上增加一个程式写作层并未减少它的复杂性,仅仅是掩盖了它,早晚您会碰到它。了解API会给您更好的补救机会。
在原始的Windows API之上的任何软体层都必定将您限制在全部功能的一个子集内。您也许发现,例如,使用Visual Basic编写应用程式非常理想,然而它不允许您做一个或两个很简单的基本工作。在这种情况下,您将不得不使用原始的API呼叫。API定义了作为Windows程式写作者所需的一切。没有什么方法比直接使用API更万能的了。
MFC尤其问题百出。虽然它大幅简化了某些工作(例如OLE),我却经常发现要让它们按我所想的去工作时,会在其他特性(例如Document/View架构)上碰壁。MFC还不是Windows程式设计者所追求的灵丹妙药,很少有人认为它是一个好的物件导向设计的模型。MFC程式写作者从他们使用的物件类别定义如何工作中受益颇深,并会发现他们经常参考MFC原始码,搞懂这些原始码是学习Windows API的好处之一。