Using Frameworks - For Beginners Only?Source: VCPP mailing list
Problem: Using frameworks and application builders can definitely help beginners start up with their first application. But is it also beneficial for experienced programmers?
Evan Jones asked:
I have to say that it is really nice that [AppWizard] does so much automatically. However my biggest problem is that I don't know what the hell half of my code does.
So when "professionals" [...] build an application, do they start from scratch or do they use AppWizard or other aids?
Cary Walker replied:
I think we are moving more and more toward an industry of frameworks. This is quite a paradigm shift from the old idea of building an entire program on top of an OS. Now, we purchase a framework like MFC or Borland OWL or Java's class library [AWT]. The advantage is obvious; we can have an entire windows app up and running in minutes. Now I just plug in the part that makes my app special and I'm done. I (hopefully) don't have to fool with low-level stuff like "Where do I place my first window? How do I get the correct background color? How do I perform low-level file I/O?"
So why do you want to know what half of your code does? I would agree that at a high-level its very beneficial, but I tend to only try to figure out lower-level stuff as I need to modify the framework's default behavior. And anytime I do this I ask myself if it's absolutely necessary because the framework probably does it that way for a reason.
So, I think a professional does whatever will put out quality the absolute fastest in our unbelievably competitive profession. If I tried to write my windows app from scratch, I think the result would be a whole lot less attractive than if I used Microsoft's or Borland's frameworks and it would take a LOT longer.
I would buy some good books on frameworks. They know what they're talking about better than I. By the way, did I mention the book Design Patterns? A GREAT book, and it touches on this very subject.
So I would let the Microsofties (or whosoever framework you choose) handle the Windows and other low-level parts of your apps, and you can dazzle us with some of your unique gaming talents that will make your app special!
Michael Mattsson, Frameworks FAQ
Ralph Johnson, Frameworks Page
Taligent, Leveraging Object-Oriented Frameworks (long)