彻底放弃没落的MFC,对新人的忠告!--吃瓜群众围观撕逼

http://bbs.csdn.net/topics/391817496

完全没想到10多年后还有人纠结要不要学MFC,我花点时间给新人们一个总结。

第1种观点 学习完MFC,你会更理解编程的思想,再学别的语言就更快了。

话说小白要去美国学技术,大黑劝他说:“你为什么不先到朝鲜,然后从朝鲜再飞到美国”,小白茫然不解。大黑接着说“你想你先到朝鲜再去美国,不是比从中国直接去美国近吗?”小白恍然大悟,“并且你到了朝鲜,那里有金太阳的照耀,你会更明白技术的思想。后面再学任何技术都很快。”于是小白去了朝鲜,然后他才知道原来朝鲜才是最好的地方,他给大黑打了长途电话,大黑问:“你感觉怎么样?”小白激动的说“我在学习用小刀刻芯片呢,听说美国都是动动按钮,学不到真正的东西。”

有的人要说“你看我就是先学了三年MFC,再学别的语言一样很快”,是,你要是先学三年JAVA或C#,再学别的语言会更快。你学三年MFC不是去跟零相比,是跟学三年其它语言比。在经济学上这叫机会成本,曼昆“你在面临选择的时候,要考虑的是机会成本”。

第2种观点 MFC接近于系统的底层,适合系统级的开发,学习他更能理解操作系统。

MFC能直接调用C,别的语言不能直接调用C吗?那.Net Interop是干什么的?醒醒吧!别说C,连MFC的DLL都有办法调用呢。
你真的觉得学习CDocument, CView, CWnd, CFrameWnd。。。这些绕来绕去的东西会更理解Windows?要更深的理解Windows要学习Win32编程,学习Windows核心编程,不是那个MFC,再说WinRT比Win32要好用的多。

第3种观点 MFC开发的程序运行效率高
MFC主要用来开发客户端程序,这里应该是跟C#对比,C#以前是托管程序,现在C#开发的Windows程序已经能编译成native了,运行效率提高了1.6倍左右吧,MFC是沉舟侧畔千帆过,船舱里的人还以为在乘风破浪。对了,visual studio的界面是用什么开发的呢?

还有一些观点,像什么刀呀剑呀,还有什么“你MFC用不好,也用不好C#”,就不一一列举了。很多时候辩证法就是粗看去很有哲理,实际毫无实际的指导意义。

为什么还有一些人推荐MFC?

话清末要废除科举制度,进京赶考的举子跪在外面绝食抗议,朝堂之上还有大臣坚持科举有多么好。是啊,你想这些老秀才学习四书五经学了半辈子,一下子又不考了,多少年的心血白费了。考物理,化学,代数,几乎给他们判了死刑。对于一个多年学习MFC,又不会别的语言的人,基本上也是深度套牢了。我记得冰河世纪里有一只老刺猬,洪水要来了,他躲在洞里不走“I was born in this hole and I‘ll die in this hole.”坚持是一种品质,顽固和守旧却是另外一回事了。这对于新手来说是一个很好的教训。

为什么还有很多刚毕业的大学生学习MFC?
因为他们的老师是上面所说的那些人。

MFC总有适合用的地方吧?
有,适合用在上世纪90年代开发Windows客户端程序。

MFC现在一点用都没有了吗?
不是,历史上遗留下来一些MFC的源代码需要维护。可能偶尔会用几个开源项目,就像弹药不够的时候偶尔也拼一下刺刀。

MFC应该跟什么语言比较?
Borland C++,VB6,Delphi,PB等。

什么人还需要关心一下MFC?
IT历史学家需要大写特写MFC曾经短暂的辉煌,考古学家需要考证这块化石的时候。

时间: 2024-07-31 17:52:54

彻底放弃没落的MFC,对新人的忠告!--吃瓜群众围观撕逼的相关文章

客户端技术的一点思考(数据存储用SQLite, XMPP通讯用Gloox, Web交互用LibCurl, 数据打包用Protocol Buffer, socket通讯用boost asio)

今天看到CSDN上这么一篇< 彻底放弃没落的MFC,对新人的忠告!>, 作为一个一直在Windows上搞客户端开发的C++程序员,几年前也有过类似的隐忧(参见 落伍的感觉), 现在却有一些不同的想法. 首先,个人职业发展是否成功, 技术只是其中一小块,尤其是在大公司, 更多的是依靠所谓的软实力.作为一个对技术有追求的工匠,我们下面重点说技术相关的. 现在回头看计算机行业的发展,我们看到不同的发展阶段: 1. PC时代,这个时代离我们并不遥远, 也有是2000年前后, 该时代最鲜明的特征是Win

客户端技术的一点思考

今天看到CSDN上这么一篇< 彻底放弃没落的MFC,对新人的忠告!>, 作为一个一直在Windows上搞客户端开发的C++程序员,几年前也有过类似的隐忧(参见 落伍的感觉), 现在却有一些不同的想法. 首先,个人职业发展是否成功, 技术只是其中一小块,尤其是在大公司, 更多的是依靠所谓的软实力.作为一个对技术有追求的工匠,我们下面重点说技术相关的. 现在回头看计算机行业的发展,我们看到不同的发展阶段: 1. PC时代,这个时代离我们并不遥远, 也有是2000年前后, 该时代最鲜明的特征是Win

张书乐:千亿市值的大坑,你还在迷信的IP经济学可以下课了

周末在家,连续刷了2天<战斗民族养成记>(又名<我是如何成为俄罗斯人的>).这个俄剧集早在2015年末的时候,就用完全不一样的俄罗斯喜剧风格在中国造成了轰动.顺便呢,看剧的同时,还能普及不少俄罗斯的风土人情与民俗文化.反而让人有了一种对美剧惯用套路的跳出感. 文/张书乐(人民网.人民邮电报专栏作者) 新著有<微博运营完全自学手册> 回过头来,看暑期档的国内电影,大家的目光则是<战狼2>如何将<三生三世十里桃花>与<建军大业>两部大戏的

如何看待 Kotlin 成为 Android 官方支持开发语言?

"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 如何看待 Kotlin 成为 Android 官方支持开发语言? - Thinkblog - 博客频道 - CSDN.NET Thinkblog 爱编程,爱分享,不仅限于技术. 目录视图 摘要视图 订阅 [活动]2017 CSDN博客专栏评选 &nbsp [5月书讯]

如何看待 Kotlin 成为 Android 官方支持开发语言

Google IO 2017宣布了 Kotlin 会成为 Android 官方开发语言.一时间朋友圈和Android圈被各种刷屏.当然我也顺势而为发布了一篇的文章<为什么我要改用Kotlin>,着实狠狠地蹭了一波热度(尽管这样会被鄙视).眼下Android圈已经躁动了,甚至严重到如果对Kotlin视而不见就显得自己不像一个合格的Android程序员. 本文尝试从一个客观全面一点儿的角度来看待这件事情,尽力为大家提供一个比较理性的观点供参考. 为什么会选用Kotlin 关于 Google 为什么

京东金融“涉嫌违规”有感:别把脏水和孩子一块泼出去

本周五,因为一纸关于京东金融白拿产品涉嫌违规的文件在网络上流传,引起了一轮针对京东金融的舆论风暴.很多人就此大做文章,依据这个所谓的"内幕文件",将京东金融定性为"涉嫌违规",大众媒体也跟风报道,一时间造成了"京东金融要出大事"似的舆论假象.但冷静下来,仔细分析一下这件事,无非就是在互联网创新大潮下一个产品设计不小心触碰到了监管的灰色地带而已,大动干戈的上纲上线,无异于"把脏水与孩子一块泼出去"的不负责任. 从舆论引爆点上看,

别再让自己被道德绑架了 ----衷曲无闻

01 前些天,我像往常一样加了一些读者. 其中有一个,上来就给我发一个公众号的名片,并要求我和她互推. 我翻了几条历史消息,发现是个营销号,便回复她:"这个推不了,不合适." 她说:"都是朋友,帮个忙吧." 好奇之下我问:"你有多少读者?" 她说:"快100了." 我说:"这个忙我真帮不了,你这个是营销号,对我没什么好处." 她说:"好,你牛.我只能说你没有学好,其它的不想表达." 我瞬

5G为何采纳华为力挺的Polar码?一个通信工程师的大实话

Polar码被采纳为5G eMBB场景的控制信道编码,这两天连续被这条消息刷屏,连吃瓜群众都直呼好爽. 然而,随着媒体报道的持续发酵,真相在口口相传中变了形,不乏夸大不实之嫌,小编终于坐不住了,也想吐露点心里话,希望尽可能站在客观的角度,在这个浮躁的世界里发出一点微不足道的声音,一个通信工程师的声音. 事件经过我们再回溯一遍- 2016年11月14日至18日期间,3GPP RAN1 #87会议在美国Reno召开,本次会议其中一项内容是决定5G短码块的信道编码方案,其中,提出了三种短码编码方案:T

解读京东“拉黑门”:被拐弯的真相

这些天,一则京东封停天天.百世物流的消息甚嚣尘上,部分舆论更是指责京东过于"霸权",一些被封停的物流官微更是在社交媒体上发起"声讨大字报",认为京东此举给其带来了巨大伤害.而京东在稍后给出的官方解释说明中,明确阐述了此"封杀"之举为维护用户体验.为用户构建良好的购物环境所趋,并不存在因为商业利益而站队的问题. 那么,作为吃瓜群众的我们,究竟应该相信谁? 天天.百世物流被"拉黑",冤枉吗? 在这起"拉黑门"事