引用 112 楼 gz_qmc 的回复:
Quote: 引用 110 楼 FreeWick 的回复:
所有的技术都将会过时,只要我们的观念不过时,与时俱进,该放弃的时候果断放弃。另外,我自始至终没提到QT半个字,还是被阁下敏锐的洞察力感知到了,真乃神人也。
呵呵,挖苦之意,溢于言表
呵呵,我就是觉得你完全都不看别人说的什么,反正反对MFC你就反对他,拥护MFC的你就拥护他。
我欢迎批判,批判是科学的精神,那会纠正我们的错误,使我们的知识体系更完整。所谓木剑,真气,内力,那是武侠小说的浪漫主义,事实还不够力吗?我们还要引用这种虚无的论据?历史上,即使是冷兵器时代也是很看重武器的,从来没有听说过拿一树枝就把对手挑于马下。而现实中,体育,音乐等还是很讲究器具的。
我坚持批评,批评是人文精神。我们不能因为仅仅因为我们自己会MFC,就推荐新手也走同样的路,扪心自问我们的建议是否经过深思熟虑,有没有很大的偏见和自欺?
批斗是一种蒙昧,是帮派之争的小圈子文化。是走向更加落后,封闭的活动方式。新手由于知识和经验不足,面临着选择的困惑,我们要清楚这不是新秀争夺战,这是他对我们的信任。一个圈子逐渐走向衰落,终归也是信任的流失。
++++++++++++++++++++++++++++++++++++
一个人死了,是营养不良死的
你和所有的人都在讨论是吃素不吃素的问题,或者吃素还是吃肉的问题
当你说的不在本质上,你觉得别人的道理对或错,你的道理对还错还有意义吗?
凡你说MFC过时,我就批评你,这不假
并不等于我是替MFC说话
我不替MFC说话,也不等于你说的过时了是对的
我举了很多MFC的例,只是从反面驳斥你
那天你要说QT过时了,我同样用QT的例子来反驳你
因为你一开口就错了
因为一个编辑器根本不存在过时不过时的概念
你说过时了是没意义的,那些说不过时的也没意义,都是假命题
在你的逻辑里,不承认过时,就一定是拥护,何等荒唐
++++++++++++++++++++++++++++++++++++++++++
自己也算是个资深的MFC开发者了,越来越感觉MFC的没落,现在这两年也是渐渐远离MFC相关的开发项目,做点其他的。
楼主说的很对,建议新人不要深入学习了,不是MFC要被淘汰了,而是现在开发的主流趋势是多终端的,主要集中在移动端和服务端,所以只做桌面程序的市场是越来越小了。
++++++++++++++++++++++++++++++++++++++
回复楼主,我从1997年使用MFC编程,到现在已经18年了,可是从来没觉得它落后了,关键是我这18年来只编写一个软件这个软件长度已经接近100万行C++代码了,里面自己建立数据库系统、自己建立编译器、自己建立人机界面开发平台等等,我现在用一个小时的时间开发的功能,估计你用C#、Java等语言一周都做不出来。
我现在上班基本没人管,工资应该还行吧,每天就花一点时间编编程序,怎么编写程序自己定,怎么做都可以,你说MFC落后吗?关键是你采用MFC编写什么程序?比如:你给我编写一个桥梁载荷计算的程序,你是用什么编写好呢?要么你用MFC编写,或者你用MFC开发的平台软件ANSYS等来做,你还指望采用C#,Java能开发出来吗?????
MFC适合于开发复杂的二次应用平台,定位是比较高端的,简单点说,你如果要想开发一个类似EXCEL,浏览器等平台软件的程序,你这时候只能用MFC了,而且你编写完成后,你10年内都不容易落后!!!!!
++++++++++++++++++++++++++++++++++++++
是的,新人就是一张白纸,无论是从web,还是移动APP入手,都有着不错的前景,不像MFC之类的单机程序前景黯淡。对于已经用了很多年的老手,就是另外一回事了,我理解你说的那种状态,温水很舒服,不过要警惕水温的缓慢升高,别跑都来不及。桥梁载荷计算跟MFC有关吗?耦合太高了吧?顶多跟C/C++有关,C语言自有用武之地,这个没有争议,现在有争议的是MFC。
+++++++++++++++++++++++++++++++++++++
嵌入式,wince,MFC使用中。。
桌面平台,我用c++ builder,安卓平台,我用c++ builder,IOS平台,我用c++ builder.....
在嵌入式上,由于硬件机能的限制(CPU频率低,资源紧张),用C#有时候无法完成任务,虽然WINCE 5.0,6.0及以上,都支持C#开发的.NET程序,但是运行起来,那嵌入式板子真心操不起来啊,操不起来。。。。
一个200MHZ的CPU,要串口告诉通信,要ISA采集波形,要支撑1204*768分辨率的屏幕显示,画图,这时候除了MFC,我想不到另一个在开发效率,维护成本,运行速度上能平衡的方案了。当然,你要是不考虑开发周期,直接上C语言,汇编什么的,就当我没说。。
+++++++++++++++++++++++++++++++++++++
老的板子还会在wince上继续做下去,与MFC算是相濡以沫吧,关键是wince也不发展了,不管是嵌入式,还是桌面,还是其它,全都统一成windows 10了。我们也看到,
跟MFC同一个时代的c++ builder转型初步成功了
,不过我们也有一丝担忧,在开发语言、框架和工具纷纷走向开源和免费的路上,未来c++ builder的商业模式还能走多远?即使历史上,MFC跟VCL比也差多了,只不过MFC挂在微软的旗下而已。
++++++++++++++++++++++++++++++++++++++++
我也不赞成学习mfc了!初学者不适合用mfc入门!(当然mfc有优势,就是多年沉淀下来的例子特多!多于现在快餐式的编程,可以拿来主义,不失为一种选择!)。建议学习win32 涉及到界面的就用qt吧!比mfc容易多了!
+++++++++++++++++++++++++++++++++++++++++
我觉得推荐学MFC的人就是故意想误人子弟(因为他自己被这个落伍的技术套牢了)。对于it行业新人,iOS、安卓、js、这些技术不去学非要学落伍的要淘汰的技术。真是蛋疼啊。我曾经也是从MFC的坑里跳出来了,尼玛现在新系统谁还用MFC啊。现在新项目都重点放在移动端、web端。尼玛学MFC还不如去学微信公众号开发。
+++++++++++++++++++++++++++++++++++++
mfc,没饭吃。新人完全没必要学习mfc,这种古董的东西了。如果是学习windows编程,应该从基本的win32开始。mfc现在完全不符合当下高要求的用户体验。win32 + html + css, direct-ui 此类技术的应用,更是让mfc更是被边缘了
+++++++++++++++++++++++++++++++++++++++++
引用 169 楼 FreeWick 的回复:
老的板子还会在wince上继续做下去,与MFC算是相濡以沫吧,关键是wince也不发展了,不管是嵌入式,还是桌面,还是其它,全都统一成windows 10了。我们也看到,跟MFC同一个时代的c++ builder转型初步成功了,不过我们也有一丝担忧,在开发语言、框架和工具纷纷走向开源和免费的路上,未来c++ builder的商业模式还能走多远?即使历史上,MFC跟VCL比也差多了,只不过MFC挂在微软的旗下而已。
这位老大,您懂不懂呀,不懂别瞎说。
WinCE不发展了吗?谁告诉你的呀。WinCE确实在6.0版本之后就不再有WinCE 7.0了,但是接它的班的是接下来的Windows Embedded Compact 7,有人把这个版本叫做“WINCE7”,其实正确的缩写应该是:WEC7。
WEC7之后的版本是 Windows Embedded Compact 2013
Windows Embedded家族中,有一个分支属于“实时操作系统”分支,即:RTOS。
过去的WinCE,以及后来的Windows Embedded Compact 7,再到后来的Windows Embedded Compact 2013,都属于这个分支。
至于你说的Windows 10,它在嵌入式领域,到目前为止,尚未完全替代Windows Embedded Compact 2013。
而Win10 for IoT,目前的应用还是在非实时领域。
看懂下面这张图:
++++++++++++++++++++++++++++++++++++++++++
恩,我确实不懂,一直以为Windows CE也不发展了,嵌入式也在向Windows内核统一靠拢,多谢您的回复,图片也非常棒。 我特意是看了Windows Embedded Compact 2013,关于开发平台,微软是这样表述的:
Bridgeland表示:“该版本专注于让开发人员的工作变得更轻松。对Visual Studio2012的支持,给开发人员的工作带来了显而易见的好处,包括简化的用户界面和清晰的语法着色,包括改进的编译器、自动生成的代码片段和XAML工具等工具。”
大家看,XAML又出现了,MFC怎么连一个字母都没提?对新手来说,这又是一个很好的好例子,微软花了上万倍的心血在XAML身上,在微软技术体系的小组赛里,界面技术XAML已经比MFC遥遥领先了。你真的以为学会了MFC再学XAML会很容易,你找个VC程序员做个示范?相比较而言,如果你掌握了HTML5,或者Android的AXML,如果要学XAML反而要容易。
++++++++++++++++++++++++++++++++++++++
引用 208 楼 china_jeffery 的回复:
Quote: 引用 207 楼 china_jeffery 的回复:
离开应用场景和行业来讨论什么语言,什么框架,什么库有没有用,过没过时,是不准确的
就我所知,工业控制方面MFC运用还是非常广的
MFC应用很多,只能说明工业控制方面,MFC曾经是好的技术方案,但已经是过去式,新时期需要新的技术决案。新手应该在新的技术方案里定位自己要学的知识,而不是纠缠到历史遗留系统里。即使要做工控,难道不去学适应更多应用场景的界面技术,却非要学局限在一种应用场景的MFC?
+++++++++++++++++++++++++++++++++++++++++
引用 213 楼 FreeWick 的回复:
Quote: 引用 208 楼 china_jeffery 的回复:
Quote: 引用 207 楼 china_jeffery 的回复:
离开应用场景和行业来讨论什么语言,什么框架,什么库有没有用,过没过时,是不准确的
就我所知,工业控制方面MFC运用还是非常广的
MFC应用很多,只能说明工业控制方面,MFC曾经是好的技术方案,但已经是过去式,新时期需要新的技术决案。新手应该在新的技术方案里定位自己要学的知识,而不是纠缠到历史遗留系统里。即使要做工控,难道不去学适应更多应用场景的界面技术,却非要学局限在一种应用场景的MFC?
使用MFC并不是因为MFC好用,而是因为在要求本机代码发布的windows软件开发过程中,能使用的图形界面库寥寥无几。Delphi的本机代码版本早已不再继续开发,Qt因为过于臃肿。至于wxWidget则直接是MFC的封装。至于所谓的.Net Native,离开winRT就不能用了,更何况winRT软件只能在微软商店发布。
++++++++++++++++++++++++++++++++++++++++++
废话那么多,拿工资出来说事就好了。
学校学MFC的,到了公司基本用不上,大家都有自家UI库,MFC从来都是个烂摊子。
要理解设计模式,直接学设计模式就好;要理解windows api就学win32。
当然,有些山顶洞人程序员和公司,还在用MFC我就不知道了。
+++++++++++++++++++++++++++++++++++
30岁以前,靠投机吃饭的,岁月自然淘汰
30岁后还在的,才是有沉淀的人,40岁还在的,才可能是高手
高手得到的不仅是饭碗,而且有尊重
投机的年代,运气好就是上宾,运气不好就是狗,甚至比狗都不如,运气好的就那么万分之几的比例
30岁后回头,晚了
你拿钱说事情的,你干嘛不去炒股,干嘛不自己当老板?那不比编程来的快?
既然都是要靠技术吃饭,干嘛又总投机呢?
如今MFC这些岗位少了,简单把原因归结为MFC不适用了,是小孩思维
其实一个需要MFC的相关企业配5个程序员正好
可是一开始大家都标榜这吃香,企业的HR也是摸石头过河,于是都考虑20个
混水摸鱼投机的有很多
大家都了解之后没有那么神话了,自然要回归正常,于是岗位少了很多
但能在岗位上的绝对是真能做事的
投机的人自然就举步维艰,只好寻找另外的投机之路
要投机就要炒作,因为人少的地方无可遁形啊
很多人以为MFC就是拖控件,很多人以为拖控件就算编程。
现在的HR都聪明了
以前每月5000请10个混混
现在是每月5W请1个真人
岗位怎么能不少
是衰败还是回归,历史会有结论的
++++++++++++++++++++++++++++++++++++++
用MFC的(虽然我不用,用的是WTL),可以用擅长的C++语言, 可以方便的调用C/C++类库(系统或第3方), 可以嵌入各种脚本语言,可以方便极致的优化.
当然如果一开始就学的C#, 真的没有必要再学MFC.
当然qt作为界面开发也行, 但是这个库实在过于庞大, 和STL也没什么事了,所以我推荐如果要用, 可以用WTL开发界面, 简单的对Win32封装.而且只是界面, 其他库完全可以用stl或第3方库什么的.
很奇怪,好像学MFC都不学别的了. 搞技术还是多学点好, 原理是相通的, 设计是可以借鉴的.
Windows搞界面就选这几个,如果是C++为主要语言:
wtl,duilib,qt(qt真心不建议,qt的学习成本也不低,不过好在难逆向)
+++++++++++++++++++++++++++++++
MFC从统兵百万,雄据沃野千里的大将,到扼守险要的偏将,说节节败退也不为过吧?当然我完全理解航空系统所需要的那种稳定性,相信MFC不会消失,别说10年,20年也没问题。我们拥抱创新新和变化,尤其是瞬间把我们的心击碎的 革命性的变化,能带来生产力的急剧提高。所以MFC的变化对我们而言,简直就是杯水车薪,就算打脸也得如此。
工控领域之外的MFCer,你们怎么看?是否也有什么险要跟MFC结合?
+++++++++++++++++++++++++++++++++
引用 275 楼 FreeWick 的回复:
MFC从统兵百万,雄据沃野千里的大将,到扼守险要的偏将,说节节败退也不为过吧?当然我完全理解航空系统所需要的那种稳定性,相信MFC不会消失,别说10年,20年也没问题。我们拥抱创新新和变化,尤其是瞬间把我们的心击碎的 革命性的变化,能带来生产力的急剧提高。所以MFC的变化对我们而言,简直就是杯水车薪,就算打脸也得如此。
工控领域之外的MFCer,你们怎么看?是否也有什么险要跟MFC结合?
其实,如果我在别的帖子里说的话有幸能被你看到,你就会知道,你所推崇的XAML,我也是极其的推崇的。
我个人非常非常喜欢WPF,甚至于希望能够在Android、iOS上用到和WPF类似的技术。
MFC,说实话目前最适合它存在的土壤也就是工控领域,而我也仅仅是在工控领域用MFC,离开了工控领域,我几乎不会用到MFC。
然而工控是个大领域,可以说工控的范围很广。其实它的范围比互联网要广,只不过工控往往存在于默默无闻的地方,虽然发挥着重要的作用,却很难吸引眼球,很少引起注意,所以好像显得不存在似的。
离开了工控领域,我觉得就不要继续用MFC了吧。除非有老的系统需要维护,开发新系统的话,有大把的比MFC更合适的技术。
在工控领域MFC绝对是个主流,但离开了工控领域,MFC绝对是个极少数派,这是不争的事实。
有好多技术都只能在某个特定领域做常青藤,离开了那个特定的领域它就什么也不是。
其实在工控领域,MFC也在受到新技术的威胁。你所说的那种XAML的技术,其实在工控领域,也在涌现出类似的技术。有一种图形界面开发技术,名称我就不说了,业内的人都知道,不是业内的人知道也没用。这种技术,是用类似于XML的语法去定义一个界面,然后靠一个底层的引擎去渲染出一个界面来,而底层用的其实是OpenGL。这种界面技术运行也非常高效,非常稳定,而且在现代的飞机上,驾驶舱里面,大量采用的就是这种技术。这种图形界面技术可以移植到PC上、VxWorks操作系统、Linux系统,甚至我们公司自己写的RTOS,也移植了这种图形界面技术。
所以说MFC不会消失,但也不会再有更广的应用。
++++++++++++++++++++++++++++++++++++
引用 292 楼 gz_qmc 的回复:
对新人的忠告:在汽车流行的今天,彻底放弃步行。
直立行走虽然是人类的骄傲,但走路是原始人选择。
飞机高铁都高速发展的今天,还选择步行将没有生存空间,无人驾驶马上就会普及
BX就是不行,你们看着办,
人类将来一定会发展成只有脑袋的动物,脚没用了,手也没用了,你信不信,反正我信了
生小孩的妈妈们注意了,小孩生下来就把脚剁了
真的,我是负责人的人,将来你的小孩要从走路开始学就直接被淘汰了
混淆问题能力比较出色啊。
MFC不是一个必须,只是一个选择而已,不懂、甚至没听说过的MFC的高手实在是太多太多了。
但走路是一个必须的事情。
++++++++++++++++++++++++++++++++++++++++++++
引用 297 楼 deping_chen 的回复:
我也曾经使用MFC有十年吧。不过我现在已经放弃MFC了。对于C++程序员来说,Qt确实比MFC好用多了。更不要说Qt是支持多个平台的。新人们,MFC真的已经过时了,不必在这上面耗费时间了。
你放弃MFC,是你的选择,没有对和错
你绝得MFC不合适自己用,是你的选择,对也仅仅是针对你自己
但是你狂言MFC过时了,你就有过失,但还仅仅是失言。
而你居然借此误导新人的选择,以为你选择的就一定是阳光大道,这就有罪
别人选什么反向,有多大成就,是你的性格,你的天赋,你的眼界和你的认知可以确定的??????
有的人天性思维习惯就从MFC入手最快最简单,而且学会编程后其他东西就无师自通了
你以为这种人只是少数?????????
你以为像你们这么笨MFC弄了好多年都一知半解的人占多数???
你以为像你们这种最大能力就只能一段时期就只能靠一个编程环境吃饭的人占多数???
你天津人去北京自驾最方便,你就敢妄言广州人去北京自驾最方便?????????
你山东人吃大葱上瘾,你就敢妄言四川麻辣味不入流??????????????
哈韩哈日的非主流很多,很会抢风头,各种流行,各种嗨,各种炒,各种闹腾。
其实所谓的的多数,只是时间和镜头的相对集中而已
++++++++++++++++++++++++++++++++++++++
引用 296 楼 akirya 的回复:
又在混淆概念了
不会MFC的高手实在是太多了,不会MFC的都不是高手了么?
不知道是我混淆了,还是你在搅混水
楼主观点:MFC过时了,没落了,新人不要选择MFC了。
赞成楼主观点:
1、我觉得MFC不顺手,应该是过时了
2、我有更好的东西,感觉MFC过时了
3、MFC微软不维护了,是过时的一个象征
4、MFC岗位少了,所以应该是过时了
5、手机流行了,移动端需求增加了,所以MFC过时了
我的观点:楼主观点和赞成楼主的那些观点都是无稽之谈
1、MFC的市场大把,只是在各行各业,而唯独不在手机移动端上占优势,比起各行各业,手机算个屁
手机生产线的控制还大量的用MFC做的程序呢。
2、新人掌握那种编程技能进入这个圈子简单,和新人的性格,思维习惯,环境,从事行业等有关。关编程环境卵事。
3、MFC不维护了,就和人的脚不进化一样的。
4、所谓的流行都是商家的炒作,是最没出息的人才跟从的,不是风靡一下就成为你的饭碗。那就好比富人给乞丐派馒头
知道苹果为啥要有别于其他的操作系统吗?那是保护自己的利益,不是说他的系统很好,那只是垄断的小伎俩
你去适应他的系统学了一堆垃圾,那么苹果倒了呢?去吃屎吗?当然附带学他的东西没为啥非要放弃别的才行啊?
难道有肉吃,米饭就过时了?
5、我从来没有说MFC很牛,也没有说MFC比其他高级,也没有说MFC非选不可,我只是说其他能做的,MFC也能。
6、你看看你说的那话关讨论话题卵事。
++++++++++++++++++++++++++++++++++++++++++++++++
我来谈谈新人要考虑吃饭这个问题
这是无法回避的
那么,首先要明白一个概念
开始我们是求有饭吃,然后才求吃饱,而不是求发财
只有明白这个观点,才能考虑长远
那么,MFC怎么就没饭吃了??
有人说MFC需求少了,是站在手机移动端的角度说的
难道编程就只在手机移动端??????
中国这次洗牌之后,人工成本越来越难
那么多自动化生产线的需求是你一个小小的手机移动端能比的??????????
流行的没错,但蜂拥而至的,拍拍良心,有几个为吃饭而去的?
大多都是希望不劳而获,都是希望一夜爆发的
而这种思维根本就不会去把编程学好,因为是看钱去的,那个来的快就学那个
当然,选择流行没有错,那只是各人的选择
但你因此蛊惑新人也去跟风,甚至以诋毁一些东西铺路,这就极度不负责任
+++++++++++++++++++++++++++++++++++++++++