《WINDOWS程序设计》(006)1.2 Windows编程选项-1.2.2 语言选择
1.2.2语言选择用C语言和基本API并不是编写Windows 98程序的唯一方式。但是这一方式为开拓Windows功能提供了最佳的性能、最强的功能和最大的多样性。所产生的执行代码相对来说也很小,不需要外部程序库就可以运行(当然,Windows自己的DLL除外)。更重要的是,无论将来你用什么来编写Windows程序,搞熟这些API都能让你对Windows的内部有更深刻的理解。【发展到现在,各种各样的语言层出不穷,大家都分别在某个方面有自己的专长,但要论到最基本最底层的实现,C类语言及基本API应用仍然是一强大利器】
尽管我认为对于任何一个Windows程序员来说,学习经典Windows编程都非常重要,但我并不主张所有的Windows程序都非得要用C语言和API不可。很多程序员,特别是哪些为企业内部专用软件编程的人员以及那些在家里以编程取乐的人士,他们会更欣赏像微软的Visual Basic或Borland公司的Delphi那样的简便开发环境,因为那种开发环境能够让程序员把主要精力放在应用程序的用户界面上,把代码直接和用户界面对象联系起来。如果你要了解Visual Basic,可参阅微软出版社1996年出版的learn Visual Basic Now,作者是Michael Halvorson。
近几年来,在很多专业程序员当中,带有微软基本类库(Microsoft Foundation Class Library,MFCL)的Visual C++相当流行,尤其是在编写商务软件的程序员当中更是如此。MFC把很多Windows编程中繁杂的东西都打包到了C++的类集当中。Jeff Prosise所著的Programming Windows with MFC,2nk Ed,(微软出版社,1999年)对MFC进行了专门介绍。
最近由于因特网和万维网风行于世,Sun Microsystems的Java也流行起来。受C++启发,Java语言与处理器无关,它用自带的工具箱(toolkit)所编写的图形应用程序可以在多种操作系统平台上运行。由Stephen R. Davis编写,微软出版社1999年出版的Programming Visual J++ 6.0对微软的Java开发工具Microsoft J++进行了非常好的介绍。
显而易见,究竟用哪种方式编写Windows应用程序最好,其实并无一定之规。应用程序本身的特性应该是决定采用何种编程工具的最主要因素。但是无论将来你采用什么编程工具,通过了解Windows API从而深入理解Windows的工作原理,这本身就具有很重要的意义。Windows是一个非常复杂的系统,在API之上加一层编程语言并不能消除其复杂性,最多不过是把复杂性隐藏起来而已。说不定什么时候,Windows复杂的那一面迟早会蹦出来拖你的后腿,懂得API能让你到时候更快地挣脱困境。
在基本Windows API之上的任何软件层或多或少都会限制你使用Windows的全部功能。比如,你或许发现采用Visual Basic来编写你的应用程序非常理想,但是就有那么一两项非常基本的功能Visual Basic无法支持。往往这种时候,你就非得要调用基本API。作为Windows程序员,我们的活动空间完全由API来规范,再没有什么其他方式能比直接调有API更有效、更灵活多样了。
MFC的问题尤其严重。尽管它极大地简化了某些工作(如OLE),但我经常发现自己会在某些功能上摔跟斗(比如让文档/视图的体系结构按照我的设想来工作)。并非像很多人一厢情愿期望的那样,MFC始终没有能成为Windows编程的万灵宝药,几乎也没人认为它是一种很好的面向对象的设计模型。MFC程序员通常受益最多的是对他们用的类定义的理解,他们总是经常不断地在查询MFC的源代码。而了解Windows API的好处之一就是能帮助你读懂MFC源代码。(现在MFC基本已经被真正有经验有水平的程序员废弃)
额么么么
页:
[1]