成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

mfc是什么 很多人說(shuō)C 的MFC已經(jīng)過(guò)時(shí)了,那新入門(mén)的人到底應(yīng)該學(xué)什么?

很多人說(shuō)C 的MFC已經(jīng)過(guò)時(shí)了,那新入門(mén)的人到底應(yīng)該學(xué)什么?。MFC在軍工和自動(dòng)化的許多領(lǐng)域隨處可見(jiàn)。即使我們的大多數(shù)產(chǎn)品都是由MFC開(kāi)發(fā)的,盡管有些產(chǎn)品使用QT重構(gòu)。您選擇MFC。我們先來(lái)看看效

很多人說(shuō)C 的MFC已經(jīng)過(guò)時(shí)了,那新入門(mén)的人到底應(yīng)該學(xué)什么?

。MFC在軍工和自動(dòng)化的許多領(lǐng)域隨處可見(jiàn)。即使我們的大多數(shù)產(chǎn)品都是由MFC開(kāi)發(fā)的,盡管有些產(chǎn)品使用QT重構(gòu)。

您選擇MFC。我們先來(lái)看看效果圖。以下是QT(PS:author-CSDN-one-to-two-threeli)的一個(gè)新特性QSS開(kāi)發(fā)的一組界面蒙皮變化效果圖

!作為C接口開(kāi)發(fā)的首選接口庫(kù),它具有優(yōu)雅的API設(shè)計(jì)、跨平臺(tái)支持、完整的官方文檔以及持續(xù)的維護(hù)和更新。與MFC不同的是,即使是它的教父微軟也放棄了它。最后,QT對(duì)新手非常友好。

作為一名學(xué)生,不必?fù)?dān)心是選擇MFC還是QT,或者像duilib這樣的第三方接口庫(kù)。實(shí)際上,花更多的時(shí)間學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、算法、網(wǎng)絡(luò)、內(nèi)存管理、多線程、動(dòng)態(tài)庫(kù)和消息機(jī)制更好嗎?

接口,C不是真正的強(qiáng)項(xiàng)。C和電子不夠香嗎?

現(xiàn)在MFC還流行嗎?

看了這個(gè)問(wèn)題之后,幾乎100%的受訪者表示MFC已經(jīng)過(guò)時(shí)了。我對(duì)如此高的可能性感到驚訝。

總之,MFC并不流行,但它并沒(méi)有過(guò)時(shí)。

眾所周知,C是一種經(jīng)典而高效的編程語(yǔ)言。MFC作為一種Windows編程框架,曾經(jīng)有過(guò)大量的支持者。但是微軟沒(méi)有在MFC上做更多的創(chuàng)新,例如,沒(méi)有像第三方公司的控件那樣在界面上發(fā)布新的工具。微軟已經(jīng)將精力投入到C#,甚至開(kāi)發(fā)了VisualC.NET,一個(gè)幫助MFC程序員過(guò)渡到C#的工具。

微軟的初衷。Net是為了與Java競(jìng)爭(zhēng),在跨平臺(tái)應(yīng)用中平衡Java。后來(lái),隨著互聯(lián)網(wǎng)的迅速發(fā)展,桌面應(yīng)用成為邊緣化少數(shù)群體的需求。大量編碼人員加入互聯(lián)網(wǎng)公司,C和C被忽視,用戶比例不斷下降。

今天的桌面開(kāi)發(fā),除了C是C#,其他都不是主流(我可能不知道,也有大量的國(guó)外程序員沒(méi)有用過(guò)VS)。C開(kāi)發(fā)了C11/C14/C17,這被大多數(shù)數(shù)字農(nóng)場(chǎng)主所忽視。第三方控件也大大彌補(bǔ)了MFC接口的不足。但是C和MFC對(duì)初學(xué)者的要求比C更高,這是毋庸置疑的。在當(dāng)今的效率時(shí)代,年輕人無(wú)疑會(huì)選擇C#(更多的年輕人會(huì)涌向互聯(lián)網(wǎng),因?yàn)檫@個(gè)行業(yè)支付的費(fèi)用更高)。

然而,C?的隨機(jī)性將嚴(yán)重?fù)p害程序員的良好素質(zhì)。一個(gè)沒(méi)有紀(jì)律的程序員會(huì)編寫(xiě)大量的私生子代碼,這會(huì)讓后來(lái)的程序員或C程序員哭哭啼啼,直接崩潰。

我手頭有一個(gè)項(xiàng)目。有兩三個(gè)。幾位“前輩”寫(xiě)的6000多行CS文件。變量滿山都是,數(shù)據(jù)處理水平不分,接口慢,不懂行業(yè)應(yīng)用。充其量只是實(shí)驗(yàn)室的半成品,實(shí)用價(jià)值不大。

C#的方便之處在于它可以更快地引用第三方控件,而無(wú)需任何約束。因此,懶惰的程序員會(huì)過(guò)分依賴各種控件,迫使不適當(dāng)?shù)目丶?yīng)用于復(fù)雜的工業(yè)領(lǐng)域。這對(duì)于C/MFC程序員來(lái)說(shuō)是不可想象的。

我的意思是,互聯(lián)網(wǎng)行業(yè)的程序員不適合討論這個(gè)問(wèn)題。桌面應(yīng)用程序、MFC或C程序員并沒(méi)有過(guò)時(shí)。不同的是,一個(gè)C程序員可以在三到兩個(gè)月內(nèi)開(kāi)始,但C程序員需要三到五年的時(shí)間來(lái)開(kāi)發(fā)自己。

無(wú)論做什么,都要有很好的計(jì)劃,嚴(yán)格的自律,不能把代碼拼湊起來(lái)。如果你急功近利,你只能做一堆垃圾。

c 程序員轉(zhuǎn)java好轉(zhuǎn)嗎?

在這個(gè)時(shí)候,我終于有時(shí)間寫(xiě)一篇我想寫(xiě)的文章。其實(shí),這篇文章的標(biāo)題并不十分準(zhǔn)確。當(dāng)C程序員編寫(xiě)java代碼時(shí),他們不必轉(zhuǎn)用java而放棄C,他們只有一個(gè)選擇。這兩種語(yǔ)言各有優(yōu)點(diǎn)。我們不要談?wù)Z言爭(zhēng)端。讓我們假設(shè)一個(gè)朋友需要這樣的角色轉(zhuǎn)變。在編寫(xiě)了多年的C語(yǔ)言之后,突然一個(gè)項(xiàng)目需要用Java來(lái)編寫(xiě)。

Java語(yǔ)言和C語(yǔ)言在語(yǔ)法上有很多相似之處,但在本質(zhì)上有區(qū)別。當(dāng)一個(gè)合格的C程序員寫(xiě)下每一行代碼時(shí),他必須記住如何存儲(chǔ)代碼中的每一個(gè)變量,堆棧結(jié)構(gòu)是什么,如果處理不當(dāng),哪一塊內(nèi)存會(huì)造成很大的麻煩。然而,Java程序員有些不同。由于Java語(yǔ)言規(guī)范和Java虛擬機(jī)規(guī)范是分離的,再加上自動(dòng)GC,操作性較差。但這不是壞事。畢竟,手動(dòng)內(nèi)存管理有其復(fù)雜性。

就個(gè)人而言,對(duì)于C程序員來(lái)說(shuō),Java語(yǔ)法沒(méi)有問(wèn)題??梢哉f(shuō)80%以上的結(jié)構(gòu)是相同的,所以這不是問(wèn)題。但是如果你學(xué)英語(yǔ)語(yǔ)法,你能通過(guò)大學(xué)英語(yǔ)六級(jí)考試嗎?我們能和外國(guó)人見(jiàn)面聊天嗎?不一定。順便說(shuō)一句,我們要學(xué)習(xí)方言、成語(yǔ)和句型。當(dāng)我們進(jìn)入Java世界時(shí),我們必須按照J(rèn)ava的規(guī)則來(lái)玩。例如,如何創(chuàng)建一個(gè)對(duì)象、如何比較兩個(gè)對(duì)象、如何使用枚舉類(lèi)型、如何編寫(xiě)泛型代碼、并發(fā)代碼何時(shí)要實(shí)現(xiàn)上層結(jié)構(gòu)、何時(shí)在代碼中拋出異常以及何時(shí)使用反射。我認(rèn)為,一個(gè)更專注于技術(shù)的人可能還需要至少三個(gè)月的項(xiàng)目培訓(xùn)才能獲得資格。當(dāng)然,我說(shuō)的前提是這個(gè)C工程師有相當(dāng)?shù)幕A(chǔ),所以他可以站在一座山上看另一座山。

所以我認(rèn)為C程序員轉(zhuǎn)向Java的捷徑是:學(xué)習(xí)Java習(xí)慣用法、模式和項(xiàng)目調(diào)整。

C程序員的另一個(gè)優(yōu)勢(shì)是,由于主流JVM是用C/C代碼編寫(xiě)的,因此喜歡深入研究的人會(huì)非常有幫助。只要你有足夠的調(diào)試技巧,對(duì)一切都了如指掌,這種方法也適用于JavaScript,因?yàn)閂8也是C,因?yàn)闃?biāo)準(zhǔn)C語(yǔ)言沒(méi)有為操作系統(tǒng)提供內(nèi)容,如果你想為系統(tǒng)開(kāi)發(fā)應(yīng)用程序,就需要使用系統(tǒng)提供的API。比如微軟的系統(tǒng)是MFC,使用起來(lái)很麻煩,不能跨平臺(tái)。然而,Java是一個(gè)虛擬機(jī)。您只需使用虛擬機(jī)提供的類(lèi)庫(kù)即可完成應(yīng)用程序,無(wú)需再學(xué)習(xí)系統(tǒng)API,只要操作系統(tǒng)支持Java虛擬機(jī),跨平臺(tái)就很方便。還有封裝效率的問(wèn)題。Java提供的類(lèi)庫(kù)相對(duì)簡(jiǎn)單,使用方便。這與C的MFC有關(guān),也與開(kāi)發(fā)環(huán)境有關(guān)。用VC6.0開(kāi)發(fā)Windows應(yīng)用程序是用C語(yǔ)言編寫(xiě)的,我不認(rèn)為它在Java環(huán)境中是所見(jiàn)即所得。研究Java的組織結(jié)構(gòu)對(duì)您來(lái)說(shuō)是很費(fèi)時(shí)的。但是Java環(huán)境要簡(jiǎn)單得多。最后,C語(yǔ)言不支持面向?qū)ο蟮腏ava,但我認(rèn)為這不是重點(diǎn),因?yàn)槿绻皇褂肑ava提供類(lèi),就不需要從頭開(kāi)始構(gòu)建Java