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