很不明白微軟為什么不改進MFC或者開發一個替代產品。。。


雖然說,。net相對於MFC有如下優勢:

提供一個一致的面向對象的編程環境,而無論對象代碼是在本地存儲和執行,還是在本地執行但在   Internet   上分布,或者是在遠程執行的。   
提供一個將軟件部署和版本控制沖突最小化的代碼執行環境。   
提供一個保證代碼(包括由未知的或不完全受信任的第三方創建的代碼)安全執行的代碼執行環境。   
提供一個可消除腳本環境或解釋環境的性能問題的代碼執行環境。   
使開發人員的經驗在面對類型大不相同的應用程序(如基於   Windows   的應用程序和基於   Web   的應用程序)時保持一致。   
它提供全新的類庫,並以命名空間分類,提供新的form(窗體)編程和更豐富的控件,更接近快速開發的要求並不失去它的靈活性,對系統底層的訪問可以通過system.windows空間實現。
還有就是垃圾收集機制大大方便了開發者,多種語言之間取長補短。

盡管如此,我認為從本質上來說,。net盡管神通廣大,但也對於windows平台上面的效率要求比較高的程序不應該是。net的勢力范圍。

我覺得有下面幾個原因:

1,就windows平台開發而言不存在跨平台的需要。所以GIT(二次編譯)是完全沒必要的。
2,對C++的支持是非常必要的,據我所知很多大型軟件都提供MFC的接口,比如matlab,實質上他們提供的是C++的接口,如果不能很好的支持C++的話(我目前認為C++、Cli並不算非常地道地支持C++)那么那些對效率要求很高的數值計算函數的速度將會變成怎樣將是一個未知之數。
3,如果要用。net來代替mfc的話,那么這些大型軟件本身是不是也要用。net來開發?比如像matlab,photoshop,office(看上去這些軟件是用mfc開發的。)那么是不是要他們從頭開始用。net來寫一次?
4,。net所具有的一些優勢其實也可以用到mfc上面,比如快捷的開發方式,比如可以通過改良MFC的IDE,同時添加一些控件使到程序員擁有更多預先裝配好的模塊。

也許我想說的並不針對mfc或者。net,而是想說,。net不是為純windows軟件而度身量做的,盡管它很強大,但是它不可能面面具到。對於開發純windows程序,我覺得現時的。net某些方面多余了,而另外又有些方面不足。如果mfc淘汰了,那么是否應該有一個為開發純windows程序而度身量做的來填補mfc的空白?(當然它也可以是。net的一份子,不過應該不是目前的C#或者VB.net)

25 个解决方案

#1


可以試一試wxWidgets嗯

#2


.Net supports MFC host since 1.1
MFC 8.0 support .Net as well.

#3


關鍵字:利益、歷史、包袱。。。

#4


微軟的.net戰略

#5


大多數Windows開發人員會在.net托管級別進行工作,對於非托管代碼包括MFC,Microsoft計划作為區別於.net的獨立實體來發展。

#6


1.存在跨CPU的需要
2.不太明白,.net沒有C++???速度應該不會比vc6慢
3.為什么不?
4.快捷的開發方式是指什么?RAD?如果那樣,MFC要動大手術,無法想象MFC會變成什么樣子

#7


.net是一個產品,在WINDOWS下的產品,和OFFICE是一樣的
PHOTOSHOP,OFFICE。。。不可能用.NET來開發,性能將成為問題。
當然如果MS把所有在WINDOWS上運行的軟件必須運行在.NET上的話就要重寫

#8


@zjh222(zjh)
性能不是問題。不要把.net/java的性能想得那么差。
目前使用.NET開發的商業軟件為數不少。
比較著名的AutoCAD2005就是.NET的。

#9


AutoCAD2005用到.NET,更說明它的內部完全是自己的,.NET只是一個隨時可以換得殼而已,做C++/C開發的是這樣想的,在還沒擁有AutoCAD那樣的內部技術時,對.NET不會感興趣的;不過做界面和用戶接口開發肯定會希望它簡化開發了。

#10


AutoCAD2005用到.NET?

我找了個AutoCAD2007的鏈接,看上去是經典的mfc啊........
Muf(沐楓)確定你說的嗎?

http://lib.verycd.com/2006/04/21/0000099857.html

#11


呵,不是全部都用.NET啦。

#12


改MFC干嗎?MFC功能如此強大,是沒有其它工具可比的,不要聽一些不會VC的人造謠,他們不會用VC就亂說,什么VC過時了,什么C++淘汰呀,如果VC過了的話那該用什么編?用DELPHI、Basic,它們行嗎?只能寫些數據類的程序,而且實質也不過是解釋型程序而已,不過這些工具太簡單太好學了,這只是給懶人提供的編程工具,大家還是認真學習VC/MFC吧,永遠勝利!

#13


LZ你火星了...MFC一直有新版本...

#14


想問一下有沒有做基於VC.NET平台做SOLIDWORKS開發的,我在做時遇到了這樣一個問題:
    想在Property Page中做在一行有多個TextBox控件,怎么辦,在對話框中當然是很好實現的一個問題,但是在這里面好像有點難,望高手指點呢

#15


VC不會過時,但是MFC已經過時。

#16


WAD_VC()這個人絕對是個蠢貨,什么Delphi和VB是懶人用的開發工具,簡直是放狗屁!
Office就是用VB編寫的,游戲劍俠情緣就是用Delphi編寫的,VC6極其以前的版本開發效率不敢恭維,還不如C++Builder,直到VC.net問世。

#17


yasaka你是白痴,你這個垃圾,你會說人話嗎?估計你也不會VC,你這個笨蛋,你有什么資格到這里說話,Office是用VB編寫的嗎?是VC++,懂嗎,有多少優秀軟件不是用VC編寫的?你就會幾種簡單的解釋型語言你就覺得了不起了,什么玩意,惡心,我都為丟人,我不想以后在論壇上見到你.

#18


樓上的垃圾,我都不得不罵一句了,操!

#19


主要看應用
呵呵

#20


我發現,MS認為大家太接近底層了,對自身的產生有影響如OFFICE,DATABASE,....
所以MS讓大家離底層遠點,只有它能用底層的東西作,所以來個.NET,至少你不能用.NET來作OFFICE,DATABASE...,它只要控制.NET FRAMEWORK就行了,除非你用匯編、C,看看國外作核心產生的都是用C/匯編,從來不用什么VS,DELPHI,JAVA...,這些都是作應用的,要作應用的應用只有用C匯編,可人家早就把C/匯編的IDE升級了,很好用的,可人家不賣啊。。。

#21


MFC,有時間看一下

#22


我一直感覺無論java還是。net都像是為了網絡編程,web服務而產生的,也許window上的應用程序僅僅是他們順便提供的功能,不知道是不是這樣?那么window上面的應用就沒有一個專門的語言或者工具去更好地進行開發嗎?畢竟我個人認為windows上的程序的市場應該也是不小的,難道web應用,或者說企業應用真的大到可以忽略windows應用這個板塊嗎?

#23


關於.NET的優點,可以看看
Programming .NET Components (second edition)
O'REILLY
page 18:You might be concerned with the JIT compilation performance penalty. However ...
雖然我不認為.NET程序比MFC快,但它的解釋看上去有點點可能

#24


MFC和.NET並不互相排斥,你可以讀一下這本書
Addison-Wesley, 
Extending MFC Applications with the .NET Framework(2003)

#25


java是為嵌入式設備開發而發明的,最初這種語言命名為C++++--,意思是C++“加上一些好東西,減去一些壞東西”。顯然這個糟糕的名字不可能長命百歲,很快這種頗受同伴喜愛的小語言被命名為Oak。1994年改為java

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com