現在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


那看你自己的心態,


分享到:


相關文章: