Advertisement

why use MFC?

Started by February 11, 2000 06:13 PM
22 comments, last by Gecko 24 years, 6 months ago
MFC is good for what it was designed for, standard Windows applications. Also don''t worry about learning MFC before you learn non-MFC windows programming. It can actualy help you out on the path to learning how to write windows programs without MFC. The one nice thing about MFC is that it hides the complexity with out hiding the Win32 API completely. It can get you good results and lots of satisfaction much sooner than you would get with without MFC, and you can''t help but learn more about how the Win32 API it''s self works. Not getting frustrated with the little details when you are just starting out can go a long way towards helping you enjoy what you are trying to learn.

But remember, MFC is NOT for speed critical games. You can write things like turn based strategy games, card games, puzzle type games, etc in MFC just fine, but you can not write a Starcraft or Quake clone with it and expect anything but bad results.

BTW: Delphi and C++ builder are for Visual Basic programmers that want to feel like they are using a real language.

JUST KIDDING! No flames please! I just couldn''t help myself. HEHE. :D
i don''t see how you can possibly put down MFC. i mean it''s overkill for games since they usually don''t need all the crap that MFC can do and it''s slower then straight up using the win32 API. But.. all of you saying you don''t like MFC musta never used it cause writing apps it cuts down the time dramatically. Course.. if your writing apps you could prolly stoop to using Visual Basic *cringe*.
-werdup-
Advertisement
As a relative newcomer to Windows programming I have to say that one of the big advantages to MFC is that the help manual accompanying VC++ 6.0 goes into detail about how to do neat things with it like dialogues. The Win32 SDK is frickin'' huge, which can make it kind of tough to find what you need to learn a specific task if you don''t know exactly where to start. eg: I had to chuckle when a search for ''dialogue programming'' in VC++ help turned up the article "how to program good dialogues between members of development teams" (or something like that). ''Course if you''re not using VC++ this doesn''t help much....
-david
quote: Original post by Anonymous Poster
BTW: Delphi and C++ builder are for Visual Basic programmers that want to feel like they are using a real language.

JUST KIDDING! No flames please! I just couldn''t help myself. HEHE. :D

If you define Visual Basic programmer as someone who doesn''t want to spend more than ten seconds to insert a button into his UI, then I fully agree with you.

Why use MFC? Why use C++? Why use C? Why use ASM? Why use DELPHI? Why use Builder? Why use VB? Why use ...?

Tools.

Also, one might keep this in mind. It''s been my experience that most people in general tend to show a public dislike in something when they don''t really posses an understanding of the very thing they claim "sucks". Being that this is a general statement there are going to be exceptions as with everything else in life.

So in an effort to make my point, until you have gained some first hand knowledge of a "insert whatever here" it''s probably best you don''t claim something "sucks". You do a disservice to everyone that reads your comments.

I can code a windows application as quick or quicker with MFC than my fellow coders at work using VB. I''m not GOD, and they don''t suck. But I am skilled using it. That being said, MFC still blows.

Just my opinion, your mileage may vary...

~deadlinegrunt

MFC rocks for editors. Our editor handles over a dozen different doc types for sounds, effects, templates, etc. etc. and with the judicious purchase of 3rd party widget libraries you can really start to kick ass. People who claim MFC sucks IMHO have never really thought about how they would abstract the Win32 API. There are so many times I have said to myself, "Ahh!!!!! That''s why they did it that way!"
Advertisement
quote: Original post by deadlinegrunt

It''s been my experience that most people in general tend to show a public dislike in something when they don''t really posses an understanding of the very thing they claim "sucks".


Oh yeah! I was going to add that myself. In fact, I agree with just about everything in your post.

I used to tell people all the time how much I hated MFC. At the time, I had looked at a lot of it, but hadn''t actually taken the time to learn it. Then, I got a job that forced me to learn it, and I have to say it''s quite handy. Not suited to everything, granted, but it has it''s uses. I''d never discourage anyone from learning it.
MFC From the Ground Up has been on my bookshelf collecting dust for some time right next to Programming Windows With MFC, simply because I was determined to be proficient with straight Win32 API. It''s been a long, slow process. I usually scrap everything halfway through and go to VB from pure frustration or lack of time. Just pulled the MFC book off the shelf the other day and, now that I have a better understanding of the API, MFC makes a lot more sense to me now and I take back all the bad things I ever said about it I do believe the document/view architecture is a bit confusing, but I''m coming along nicely.
Hm. I learned MFC without knowing anything about the win32 API. I still have only scratched the surface of the API, but I''m pretty damned good with MFC now. Granted, I write business apps. Forgot where I read it, but "nobody has ever wanted a 3/8-inch drill bit; what they want is a 3/8-inch hole". Food for thought.

Anyway, I see a lot that "you should learn the win32 API first!". Bologna, says I. If your application is going to be a Microsoft-style Windows App (menu bar, tool bar maybe, resizeable window pane), then learn MFC first. You will be more productive in less time than trying to learn the API from the ground-up.
Well

Im progrmaing game using WFC (the Java equivalent for MFC) im not sure it is the same thing..but i know it is similar... i got no problems!

It is the way you make it wich cont...not with wath!

This topic is closed to new replies.

Advertisement