怎么还就有人不相信mfc过时了?过时就是指——在目前的软硬件条件下,已经有更好的能够实现mfc既定目标的替代者出现,这与你能不能用mfc解决问题无关!其实当vcl出现的时候,mfc、owl的过时就已成定局,只可惜vcl本身不是用C++写成的,而且,为了在C++ builder中使用vcl,borland扩充了C++的语法,这多少令像我一样的C++爱好者心里不是那么舒服。
更要命的是,如果一个长期使用mfc做开发工作的C++程序员,甚至是mfc的初学者,在接触过vb6、java、.net这些传统上为C++程序员所“鄙视”的开发环境/类库之后,他的第一感觉肯定是震撼——来自于这些环境所提供的rad特性的震撼。
其实,与C++优雅而有力的语言表达能力相比,这些竞争者根本不值一提,可是他们就凭着在gui设计上的快速与简单,俘获了不少初学者甚至是有颇些功底的C++程序员的心,而且许多人在初学C++的时候接触的就是mfc,在mfc与windows本身千丝万缕的关系以及mfc出于效率的考虑对虚函数弃之不用而采取message map的设计策略都使初学者感觉异常艰难,许多人就在这里对C++由满怀激情变成了意冷心灰,难怪有人说“C++都是让mfc给害了!”。
的确,我发现在vc初学者还在痛苦地纠缠于mfc本身的时候,c++ builder初学者已经能够运用自己掌握的知识做出真正有用的东西了。
作为自己最热爱,最“信奉”的程序设计语言,C++难道注定要在快速gui设计方面输给别人吗?borland认为除非对C++本身做作语法扩充就没有办法让C++和rad结合,难道这就是命中的定数?
直道我前天发现了VCF—Visual Component Framework,乌云才一扫而去,当然了,vcf没用任何对C++语言本身的扩充,只是一个普普通通而又不那么普通的遵循着C++基本语法的库,太棒了!我想这正是每个期待rad而又坚持语法纯正的C++程序员所需要的礼物。
mfc是过时了,但C++的时代才刚刚开始!
注:
vcf可以在vcf.sf.net找到!
vcf不是borland的vcl