mfc改變窗口大小才重繪 現(xiàn)在MFC還流行嗎?
現(xiàn)在MFC還流行嗎?看了一下,這個(gè)問(wèn)題,幾乎100%的回復(fù)者說(shuō)MFC過(guò)時(shí)了,這么大概率的回答讓我很吃驚。先說(shuō)結(jié)論,MFC不流行,但是沒(méi)有過(guò)時(shí)。眾所周知,C 難學(xué)易用,是一門(mén)經(jīng)典高效的編程語(yǔ)言。MFC
現(xiàn)在MFC還流行嗎?
看了一下,這個(gè)問(wèn)題,幾乎100%的回復(fù)者說(shuō)MFC過(guò)時(shí)了,這么大概率的回答讓我很吃驚。
先說(shuō)結(jié)論,MFC不流行,但是沒(méi)有過(guò)時(shí)。
眾所周知,C 難學(xué)易用,是一門(mén)經(jīng)典高效的編程語(yǔ)言。MFC作為Windows編程框架,曾經(jīng)有一大批擁躉者。但是微軟并沒(méi)有在MFC上做更多的創(chuàng)新,比如,沒(méi)有像第三方公司的控件一樣,在界面上發(fā)布新的工具。微軟把精力投入到C#上去了,甚至搞出了Visual C .NET這種幫助MFC程序員向C#過(guò)渡的工具。
微軟搞.NET的初衷,是為了與JAVA競(jìng)爭(zhēng),是為了在跨平臺(tái)應(yīng)用上制衡JAVA。后來(lái)互聯(lián)網(wǎng)快速發(fā)展,桌面應(yīng)用反倒是成了邊緣化小眾的需求,大量碼農(nóng)躋身于互聯(lián)網(wǎng)公司,C 和C#被冷落了,用戶占比在日益減少。
現(xiàn)在的桌面開(kāi)發(fā),除了C 就是C#,其它還不夠主流(我可能孤陋寡聞了,國(guó)外沒(méi)用過(guò)VS的程序員也有一大把)。C 發(fā)展了C11/C14/C17,這部分便利被大多數(shù)碼農(nóng)忽略了。第三方控件也極大地填補(bǔ)了MFC界面上的不足。但是C 和MFC對(duì)新手要求高,沒(méi)有C#上手快,這是毋庸置疑的。在當(dāng)今追求效率的年代,年輕人無(wú)疑會(huì)選擇C#(更多的年輕人會(huì)撲向互聯(lián)網(wǎng),因?yàn)槟莻€(gè)行業(yè)薪水更高)。
但是,C#的隨意性會(huì)嚴(yán)重破壞程序員的良好素養(yǎng),一個(gè)不自律的程序員會(huì)寫(xiě)出一大堆混蛋代碼,讓后續(xù)的程序員,或者讓一個(gè)C 程序員哭爹喊娘,直接崩潰。
我手頭上就有一個(gè)項(xiàng)目,幾位“前輩們”寫(xiě)的6000多行的.cs文件有兩三個(gè),變量漫山遍野,數(shù)據(jù)處理層次不分,界面遲緩,而且不懂行業(yè)應(yīng)用,充其量算作實(shí)驗(yàn)室的半成品,幾乎沒(méi)有實(shí)際價(jià)值。
C#的便利是可以更快捷、更加無(wú)節(jié)操地引用第三方控件,這樣做的后果是,愛(ài)偷懶的程序員會(huì)過(guò)分依賴各種控件,強(qiáng)行把不合適的控件應(yīng)用于復(fù)雜的工業(yè)領(lǐng)域。這在C /MFC程序員看來(lái),是不可想象的。
說(shuō)多了,我的意思是,互聯(lián)網(wǎng)行業(yè)的程序員不適合討論這個(gè)問(wèn)題。桌面應(yīng)用,MFC或者C 程序員并不是過(guò)時(shí)的,差別在于,一個(gè)C#程序員三兩個(gè)月就能上手,但C 程序員需要三五年時(shí)間沉淀自己。
無(wú)論做什么,都要有良好的規(guī)劃,嚴(yán)格自律,不能拼湊代碼。急功近利,只能制造一堆垃圾。