介紹
可執行檔案相對較小且運行時不要求外部程式庫(自然,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的好處之一。