上次在csdn上面写了 《关于windows编程的一些心得》,呵呵,本来只是随便把自己学习过程中的一些体会写出来,没想到最后人气还满高的,网友larry还到我的blog上留了言,虽然只有短短的一句话,但是还是让偶感动不已,于是在上班中抽个空,写下这篇文章。
在上篇文章里面说到消息对于win32编程的重要性。的确,如果作为一个为windows平台开发应用程序的程序员,如果对消息(message)这个概念都没有一个清楚的了解的话,那么他就不算是一个合格的程序员。message based,event drives-------基于消息的,事件驱动的。这就是windows和用户交互的最核心本质。这句话我想绝大多数程序员都看过,但是真正了解他的人有多少呢?网上有很多人对程序员进行等级划分,划分的依剧就是它编程所用的开发工具,基本上的观点是:VC++ > DELPHI >VB,于是又有很多人出问难这个看法,说什么开发工具是次要的,适合的工具才是重要的云云。但是问难这个观点的人通常自己都是在程序开发这一块 比较牛的人,他们对各种开发语言通常都有比较熟悉的研究以及很长的使用时间,他们在程序开发这一块是比较牛的。我认为他们问难的不是没有道理,但是他们没有考虑一些学习编程刚入门或者还没有多少经验的朋友的实际情况。想一下,同样起点的2个人,一个学VC++,一个学VB,头1到2个月,甚至是半年,一年,学VB的哪个在实际应用上绝对优于学VC++的哪个。VB真的很容易上手,即使你对windows程序运行的原理毫无所知,你还是可以用鼠标拖拉几下几个控件,单击的单击,双击的双击,写上几行代码,就OK了。一个小的计算器就出来了。学VC++的呢(在这里不考虑win32 SDK程序设计),即使语法全部过关了,也不行,总的学以下MFC吧,消息映射,事件驱动,虚函数,派生,继承,类,封装,等等等等,没一样不让人头痛的。但是这些都学了之后。哪个收获的更多,大家都知道。我想大家经常说的VC++ > DELPHI >VB,应该是基于这个层次的认识上的,学VC可以学到更本质的东西。因为他封装的比较少。VB封装的很厉害。所以我建议想学windows程序设计的人最好还是先老老实实学好基础的东西,win32SDK程序设计,VC++程序设计,让你对系统的本质有个清楚的了解。然后在学那些.NET呀JAVA啊什么的.这样你就可以不仅回做什么,而且知道为什么这么做.这样当你在遇到一些.NET什么的提供不了的功能的时候,你可以自己重最原始的角度去了解问题,解决问题.话又说回来,了解以下这些消息啊 事件啊的观点真的很有好处,即使你以后不做windows了,做linux或者苹果机了,这些都有用的.
所以说,不要因为自己使用的工具而争吵,关键看你学到了什么东西,你的付出和你的收获相比起来,值得么?这才是最关键的.微软不会因为你用什么工具给他的平台开发程序就看的起你,你要做出点原创的东西,那才是牛比的.
本来在这篇文章里面是准备说说API和COM的发展方向的,没想到说远了,老板来了,这里先打住,在第3篇里面讲吧
-------------------未完待序-----------------