怎么还就有人不相信mfc过时了?
来源:互联网 发布:国外大学网络课程 编辑:程序博客网 时间:2024/06/11 00:03
怎么还就有人不相信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
=====================
上面这些话是我在2004年底写的,可后来我并没有用过vcf。
2005年下半年,我纯属偶得地做出了一个非常好用的observer模式的C++实现(http://www.codeproject.com/Articles/12113/An-easy-to-use-event)来,于是我紧接着动手利用它做了自己的C++ GUI库shutters (http://shutters.sourceforge.net/)
做这个库的目的是为了证明我的看法,即纯C++不用任何扩展也能做出易用性堪比Java swing的界面库。
确实如此,后来我发现我几乎可以拿着微软的.net framework的C#源代码直接翻译成shutters的C++代码。
在这个过程中,我甚至还发现.net framework中有很多因为C#的表达力不足而导致的丑陋设计,这让我更加认识到了C++的能力,即便在GUI开发上,也是如此。
可自从发现能copy .net framework的代码后,我就对这一工作失去了兴趣,shutters的开发也基本停滞了。
目前只有我自己的一个程序Free ChmZoomer(http://www.appinn.com/free-chmzoomer/)是使用shutters编写的。
- 怎么还就有人不相信mfc过时了?
- 今天周五了。一大早还没怎么做东西就快12点了呢
- (转)MFC是不是过时了!!!
- MFC真的过时了吗?
- 怎么就溢出了?
- csdn 技术这么差,怎么还有人敢用啊
- 再也不相信爱情了
- 再也不相信爱情了
- 看完了就不会有人再感慨奶粉事件了
- 看了第一句,有人就哭了?
- 面试题,今天有人问了,就找到了
- 地震了,为什么还有人乘火打劫?
- 还有人用JBuilder9吗? 又被恶心了一回
- 周末,应该好好休息吧。可是这一天不知道怎么就过来了,这里还天天下雨。电脑还坏了。郁闷啊
- 怎么就成了这样
- 怎么就不可以了
- 怎么就可以Google了?
- 关于VC++, MFC过时了吗的想法
- 在SQLServer中区分大小写的几种方法
- 泪干了
- 给文本框初始化值
- 金牛座的我,金牛座的错(已更新)
- Windows下的JAVA环境配置
- 怎么还就有人不相信mfc过时了?
- 设计模式-创建型模式
- 递归算法在javascript中使用的小技巧 (javascript的对象封装方法介绍)
- “工作流”关键字在Google上的赞助商
- RedHat Linux 9 下远程桌面的安装与配置
- 工作流专题的调研(一)[摘要]
- 动态创建Tree
- 领域驱动的开发
- .NET 的 Lucene