Charles Petzold assumes that you know C, not C++ (he programs in C). Jeff Prosise (his book is not available in german, gotta get it in english...) would probably assume that you know C++, since he uses MFC, a C++ class library. You don't need to know the differences between C and C++ to read his book, because he ONLY uses C++. But in any case, I would suggest that you get the Petzold first in any case, because a good knowledge of the API is essential if you have to debug MFC apps. (My personal experience - believe me ), so you should know the most important differences (like that all variables have to be declared at the start of a block). Just so you can read his code. You can still use C++ syntax when you program pure functional API.