I am a beginer programmer in C (I have written in VB6 in the past). Evenually, I would like to create programs for Windows (for Windows prior to Windows 8). In parallel with learning to create console programs in C, I've started to look ahead toward Windows programming. In my research, I have read that a must have book is Windows Programming by Petzold. In reading reviews of that book, a seasoned programmer described writing programs for Windows by writing in C and exercising the Windows api. This same person suggested that that is the old school way. My questions (finally) are:
Do developers today create Windows programs this way? If not, then how?
People programming today have several options when it comes to Windows. The most commonly used are Windows API or Windows MFC.
There are people that love MFC and those that hate it, personally I've never actually used MFC, API makes more sense to me. I've heard that MFC can be easier to understand and takes less programming on your side, but API can be more adaptable/modifiable.
You should try out both types of programming before you make up your mind.
As far as Petzold's book, it is an excellent starting point for Windows API, I used it along with internet tutorials to get started.
API is the foundation to Windows programming, so it is likely to always be in common use among programmers, and Windows adds new things to it every time they make a new OS. API has gotten to the point that it's too big to actually learn everything available in it and many programmers tend to specialize in certain areas such as graphics, networking, security, etc.