I am trying to figure out the best path to take to develop windows applications. I am in the process of learning to programming in c++. My confusion comes in as to how to implement c++ in the windows environment. There seems to be 3 or 4 ways to go. Win32 type application using MFC, Forms using .NET. Creating windows in a IDE or just writing code to access windows operation system. I am trying to not waste time learning something that might be going away.
Tough question Steve. In time, everything goes away. Of the things you mentioned, I'd quess the poorest choice would be MFC. I guess that's easy for me to say, as I never liked MFC and don't use it. But I think that's a general consencus view.

There's a significant body of opinion 'out there' that one ought to just bounce between various class frameworks as they come into and fall out of vogue. With them there are sometimes visual design environments associated to help out. Wizards and such. .NET is like that. The reasoning behind that is that its not worth struggling too hard to create visual interfaces - let the frameworks do it, and just concentrate on the actual worker or processing code.

Then there are those of us that just do everything with the Win Api. I guess some say that's harder to learn, but for me I liked it best, and actually found all the other ways harder.

I think its worth experimenting with the various techniques and keeping an open mind. I think its hard to change if you sink a couple months into some specific way of going, then find out you aren't satisfied with that. Then you've got all those 'sunk costs'.

Hi Steve,
I can't tell you what to choose. It all depends on your needs and what you would like to develop. I prefer to use the Windows API, because I feel I have a lot more freedom when I use it, especially for very specific user interface. Though it can be hard for some to manage it.
You should as freddie1 said: Spend some time exploring the different tools. Make up a list of what you want to achieve and then compare the different environments and find what suits you best.


Simon H.A.
I think the question is especially hard to answer right now with everything going on with tablets, Win8, WinRT, and such. The Windows Api has had the longest 'staying power' as far as I'm concerned. The way a Windows 95 program was written using the WinApi direct isn't much different than how it would be written now. So if you would have invested the necessary time to learn that 18 years ago, you would have invested your time in something that was good for 18 years up to now plus maybe another 10 or 15 years to go. But I don't know if the WinApi will go another 10 years. I think it will, but I'm not sure.
If you're willing I think you would be best served learning win32 from the ground up. You learn to develop for Windows while gaining fundamental knowledge of how the OS and applications developed for it work. Then, for the sake of productivity, you could adopt a higher level framework. I don't see any reason to believe that win32 is going away in the foreseeable future.
Anyone have a good textbook for learning windows app development?
Anyone have a good textbook for learning windows app development?

Programming Windows®, 5th Edition. (for Windows API)
Programming Windows®, 6th Edition. (for Windows Runtime)
by Charles Petzold
Topic archived. No new replies allowed.