Choosing project type

So here are my difficulties,
I'm not sure which type of project I should program with, and by that I mean Win32, MFC, ATL, and CLR.

The thing is, after console I went straight to Win32, and felt amazingly good about it. as a C# programmer, suddenly the code became much much more under my control.

but then, after a lot of thinking I started feeling that maybe it's extremely hard to be able to create a quality program by today's terms.

So, I'm thinking to learn the C++ language like this, and I need experts to tell me if this is indeed correct:

- Learn CLR
- Learn ATL/MFC
- Learn Win32

(Not sure about CLR by the way)

The reason I'm thinking to do this is that way, is because I think that if I start with something relatively easy, and start going deeper, it could make my learning curve much more convenient, but of course, I need to make sure, so I'm asking you guys.
What's holding me back is the thought of reduction in the performances and memory because lack of control over the program + I don't know how much control I have with those project types over libraries and SDKs.

So, what do you guys think?
Thanks
Last edited on
In my opinion, you can learn .Net first, but you cannot learn ATL or MFC without understanding how Windows works, meaning you should learn Win32 using a book that explains very well how Windows works, like Petzold's book.

Also note that ATL is primarily a framework for COM/ActiveX. Therefore you should learn COM and ActiveX before jumping into ATL.
Thank you webJose.
Ugh, I hoped I won't have to go to long expensive books.
Well, thank you for your suggestion. I'll try to get my hands on the book when I can.
Topic archived. No new replies allowed.