C++ 现在值得学习微软基础课程(MFC)吗?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/18943456/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Is it worth to learn Microsoft Foundation Classes(MFC) Nowadays?
提问by unique
I am a big fan of Microsoft Technologies. Learned lot of .NET Framework and C# like programming languages. But I believe .NET applications are running on top of .NET Framework so They have some kind of slow. Then I heard about MFC a wrapper classes for Windows Development and It is standard for Commercial Application Development(I mean not business level application) so I want to know is it worth to learn MFC now? Is there any alternatives? I want to develop commercial level application Thanks for read my question.
我是微软技术的忠实粉丝。学习了很多 .NET Framework 和 C# 之类的编程语言。但我相信 .NET 应用程序是在 .NET Framework 之上运行的,所以它们有些慢。然后我听说 MFC 是 Windows 开发的包装类,它是商业应用程序开发的标准(我的意思是不是业务级应用程序),所以我想知道现在学习 MFC 是否值得?有没有其他选择?我想开发商业级应用程序 感谢您阅读我的问题。
回答by gbjbaanb
No, I wouldn't learn it - I'd look into it to gain an insight into some of the ways the GUI classes work so you have a wider understanding of this old, but important, technology. But I would not learn it as a technology you want to create new GUIs into the future. Forget the non-GUI parts of MFC, only people who are big fans of Microsoft technologies used them, everyone else used much better libraries...
不,我不会学习它 - 我会研究它以深入了解 GUI 类的一些工作方式,以便您对这种古老但重要的技术有更广泛的了解。但我不会将它作为一种您想在未来创建新 GUI 的技术来学习。忘记 MFC 的非 GUI 部分,只有 Microsoft 技术的忠实粉丝才使用它们,其他人都使用更好的库......
Although you can write great applications using it, TortoiseSVN for example, today using Winforms is much easier and gives you the same results. Yes, .net is slower than native code but for a GUI you're generally limited by the speed a human can react to changes, so a 'slow' system is still going to be ok, unless it gets so slow it is noticeably laggy or slow to respond. For this reason I'd skip WPF as I know too many support calls from myself and friends who all have complained about WPF's performance (there's also lots on the web about WPF being pretty poor).
尽管您可以使用它编写出色的应用程序,例如 TortoiseSVN,但今天使用 Winforms 更容易,并且可以提供相同的结果。是的,.net 比本机代码慢,但是对于 GUI,您通常会受到人类对变化的反应速度的限制,因此“慢”系统仍然可以,除非它变得如此缓慢以至于明显滞后或反应迟钝。出于这个原因,我会跳过 WPF,因为我知道有太多来自我自己和朋友的支持电话,他们都抱怨 WPF 的性能(网络上也有很多关于 WPF 非常糟糕的内容)。
there are alternatives, Qt is a great GUI tool. wxWidgets is good to, and also cross platform. Today the general attitude to GUIs are that they should be web-based, so you might be better advised to learn ASP.NET MVC 4 (not the older versions) as there appears to be a significant number of jobs for this technology today (tomorrow might be different!)
还有其他选择,Qt 是一个很棒的 GUI 工具。wxWidgets 是好的,也是跨平台的。今天对 GUI 的普遍态度是它们应该是基于 Web 的,所以你最好学习 ASP.NET MVC 4(而不是旧版本),因为今天这项技术似乎有大量的工作(明天)可能不一样!)
回答by Serve Laurijssen
There's still shops who have a MFC codebase who cant just throw it away since its well tested projects and for those it can be useful but as a learning exercise it would be better to learn straight Win32 programming from which MFC and .NET still is derived.
仍然有一些商店拥有 MFC 代码库,他们不能将它扔掉,因为它经过良好测试的项目,对于那些可能有用的项目,但作为学习练习,最好学习直接的 Win32 编程,MFC 和 .NET 仍然从中派生。
From my experience: Guerilla games the makers of the PS3 Killzone series have tools in MFC Bosch security systems where I worked still use MFC Philips medical still has.
根据我的经验:游击游戏 PS3 Killzone 系列的制造商在我工作的 MFC 博世安全系统中有工具,我仍然使用 MFC 飞利浦医疗仍然有。
For new development they all use different technologies though.
对于新的开发,他们都使用不同的技术。