现在MFC还流行吗?

网游魅力达人


搞基础桌面平台之类产品的用MFC很方便,效率也高,主要分部在有实力的大企业,积累多年,有自己成熟的技术产品体系,搞互联网项目应用开发的大多是用java,后台各种服务部署五花八门,又跨平台,不过绝大多数属于快餐式应用,对java的技术使用也比较有限,像阿里巴巴、百度等少数企业就属于高端技术应用了,总之,学好MFC不会差,学精通不会没人要![祈祷][祈祷]


追求卓越返璞归真


看了一下,这个问题,几乎100%的回复者说MFC过时了,这么大概率的回答让我很吃惊。

先说结论,MFC不流行,但是没有过时。

众所周知,C++难学易用,是一门经典高效的编程语言。MFC作为Windows编程框架,曾经有一大批拥趸者。但是微软并没有在MFC上做更多的创新,比如,没有像第三方公司的控件一样,在界面上发布新的工具。微软把精力投入到C#上去了,甚至搞出了Visual C++ .NET这种帮助MFC程序员向C#过渡的工具。

微软搞.NET的初衷,是为了与JAVA竞争,是为了在跨平台应用上制衡JAVA。后来互联网快速发展,桌面应用反倒是成了边缘化小众的需求,大量码农跻身于互联网公司,C++和C#被冷落了,用户占比在日益减少。

现在的桌面开发,除了C++就是C#,其它还不够主流(我可能孤陋寡闻了,国外没用过VS的程序员也有一大把)。C++发展了C11/C14/C17,这部分便利被大多数码农忽略了。第三方控件也极大地填补了MFC界面上的不足。但是C++和MFC对新手要求高,没有C#上手快,这是毋庸置疑的。在当今追求效率的年代,年轻人无疑会选择C#(更多的年轻人会扑向互联网,因为那个行业薪水更高)。

但是,C#的随意性会严重破坏程序员的良好素养,一个不自律的程序员会写出一大堆混蛋代码,让后续的程序员,或者让一个C++程序员哭爹喊娘,直接崩溃。

我手头上就有一个项目,几位“前辈们”写的6000多行的.cs文件有两三个,变量漫山遍野,数据处理层次不分,界面迟缓,而且不懂行业应用,充其量算作实验室的半成品,几乎没有实际价值。

C#的便利是可以更快捷、更加无节操地引用第三方控件,这样做的后果是,爱偷懒的程序员会过分依赖各种控件,强行把不合适的控件应用于复杂的工业领域。这在C++/MFC程序员看来,是不可想象的。

说多了,我的意思是,互联网行业的程序员不适合讨论这个问题。桌面应用,MFC或者C++程序员并不是过时的,差别在于,一个C#程序员三两个月就能上手,但C++程序员需要三五年时间沉淀自己。

无论做什么,都要有良好的规划,严格自律,不能拼凑代码。急功近利,只能制造一堆垃圾。


一枚老头


大型的工业级软件只要是有界面的全部是MFC。如UGNX,CATIA,CREO(PROE),CAD,PS,CORELDRAW......如果用wpf,winform。。。后果不堪设想。不说net没有大型桌面应用的经验,更不说在这样的大型软件它的性能如何的低下。C语言老吧,当你祖祖了,但它是计算机的基础。MFC就是WINDOWS界面的基础。

我要打开一个600M的文本文件且是一行行的长短不一,对,用户就要那么大,老机子上一次差不多吃掉一半内存了,超大型的数控加工代码,用户的电脑老的新的都有,你不能要求用户都用64位最新的Win10操作系统,你没有权利要求他们那么做,你做的只能去适应他们,否则他就不用你的产品。我用C#和C++都试过打开超大文本,要立即显示且能立即能浏览各行,你不能去分段读取,两者速度没法相比,你在老的winXP的工控机上加载个超过3秒用户就烦了。

工控软件首先讲究的是性能,界面华丽只是锦上添花,如果影响性能,你就舍弃华丽的界面吧。这跟生活消费类软件根本不一样。


夏日风41


1.答案。

绝对不流行。

2.原因。

大家都知道市面上编程软件五花八门,强弱不一,又是跨平台,又是高效率的。二十几年前的产品自然竞争不过,所以微软大力推出与推广c sharp,力压群雄!至于mfc也只是维护再搞些收购,如下图它收购的扩展库界面。

3.建议。

我06年接触mfc,使用它编写运动卡,各种采集卡啥的,流不流行不重要,你工作赚钱需要它才重要。各硬件厂家,软体库厂家都很好的支持mfc,近些年也开始提供c sharp开发资料。所以选择就在两者。

4.总结。

c sharp是真的好。

工业控制多考虑向下兼容,你得考虑老旧的设备,项目,会c sharp的很难学mfc,反过来很极为简单。所以先学mfc再过度c sharp 更明智些。



工控编程


MFC的时代已经过去了,就像白胡子说的,这个时代已经没有我的位置了。

MFC多年不更新不说,她赖以存在的Win32也一并老旧。MFC UI编程一个是界面老旧,数据库接口原始难用,COM,Activex被微软封禁,作为继任的.NET都快淘汰了,MFC的处境可想而知。

这些年,微软有背叛Windows,投降Linux的趋势,所以MFC的机会只存在于那种外包的老旧系统维护工作中。

不管是嵌入式还是服务器,都是Linux的天下,移动端是Android或IOS,Linux下的编程还能吃上十年,而作为桌面应用的开发框架MFC,现在谁还在意呢?

当然,如果要学习设计模式,MFC还是一个宝藏可以挖掘的,如果时间足够可以钻研钻研,她的MVC的实现还是挺强大的。


IOT编程


当然不流行了,微软20年前的东西,还记得当时大学还用mfc做过一个聊天工具,现在基本上没有公司用这个来开发新产品吧,可能有一些公司需要用mfc工程师去维护曾经用mfc开发的产品。现在学这个没有前途了,就算你学的很优秀,外面用这个的也很少,公司也不会给你开很高的工资,赶紧换一个框架来学习


小罗在厦门


MFC只是个库,会C++还可以用QT,流不流行没啥关系,主要是学思想。MFC深入浅出这本书介绍的就是其思想,经久不衰。打个比方就好比你手中有钱,买什么东西决定权在你。


用户675495765264


和windows底层打交道,mfc就是一把钥匙,就像你可以把车外形做的最漂亮,但是发动机什么的还是原来那些东西。但是你非要用mfc做界面,那就是自讨苦吃,非要用手术刀切西瓜


问道三思


就现阶段来说,MFC使用的人数肯定是比较少了,如果一个公司要做一款PC产品的话,技术的首选我相信大多数不会选择MFC,先不从框架的使用难度说,因为本身MFC历史比较久了,而且现在微微软也基本上停止了MFC的更新。当然,现在也有少许的公司需要MFC这方面的人才,来维护一些历史的项目,但是这个需求量相对来说还是比较少的。

所以我推荐的话,如果对这方面有兴趣,可以学一下类似的其它框架,比如qt,使用起来比mfc方便多了,而且还跨平台,现在也一直在更新和维护,遇到什么问题也好解决。


AnswerThree


那看你自己的心态,


分享到:


相關文章: