Charles Petzold is back with another edition of Programming Windows


Back in the day (and perhaps still true today), Charles Petzold's Programming Windows was the definitive source for learning to program Windows. The book is so old that even I used it to learn Windows programming, back when everything was 16-bit and uphill both ways. The most recent edition is Programming Windows, 5th Edition, which was published way back in 1998. What has he been doing since then? My guess would have been "sitting on a beach in Hawaiʻi," but apparently he's been writing books on C# and Windows Forms and WPF and Silverlight. Hey, I could still be right: Maybe he writes the books while sitting on a beach in Hawaiʻi.

It appears that Windows 8 has brought Mr. Petzold back to the topic of Windows progarmming, and despite his earlier claims that he has no plans to write a sixth edition of Programming Windows, it turns out that he's writing a sixth edition of Programming Windows specifically for Windows 8. (Perhaps he could subtitle his book The New Old Thing.)

Here's where it gets interesting.

Before the book officially releases (target date November 15), there will be two pre-release versions in eBook form, one based on the Consumer Preview of Windows 8 and one based on the Release Preview.

Now it gets really interesting: If you order the Consumer Preview eBook, it comes with free upgrades to the Release Preview eBook as well as the final eBook. (If you order the Release Preview eBook, then it comes with a free upgrade to the final eBook.)

Can it get even more interesting than that? You bet! Because the price of getting in on the action increases the longer you wait. Act now, and you can get the Consumer Preview eBook (and all the free upgrades that come with it) for just $10. Wait a few weeks, and it'll cost you $20. Wait another few months, and it'll cost you $30; after another few weeks the price goes up to $40, and if you are a lazy bum and wait until the final eBook to be released, it'll cost you $50.

But in order to take advantage of this offer, you have to follow the instructions on this blog entry from Microsoft Press (and read the mandatory legal mumbo-jumbo, because the lawyers always get their say).

Bonus chatter: One publisher asked me if I wanted to write a book on programming Windows 8, but I told them that I was too busy shipping Windows 8 to have any extra time to write a book about it. And it's a good thing I turned them down, because imagine if I decided to write the book and found that Charles Petzold was coming out of retirement to write his own book. My book would have done even worse than my first book, which didn't even have any competition!

Bonus disclaimer: Charles Petzold did not pay me to write this, nor did he offer me a cut of his royalties for shilling his book. But that doesn't mean I won't accept it! (Are you listening, Charles?)

Comments (32)
  1. JB says:

    This looked interesting until I read "Programming Windows, Sixth Edition will focus on creating Windows 8 apps accessing the Windows Runtime with XAML and C#.  The book will also provide C# and C++/CX code samples as online companion content"

    C#? Never mind then

  2. RP says:

    @JB: Why not just ignore the C# bits and use the C++ code samples? Or even better, use the C# as reference, and use whatever language you like.

  3. Wow! says:

    > C#? Never mind then

    For me the opposite. I have the 1998 edition and no use for it for years, as I'm not going to code Win32 user interfaces in C/C++ (at least not without relying on some well built abstraction).

    The C# bits made me change my mind.

  4. I want Bitlocker says:

    "If you order the Consumer Preview eBook, it comes with free upgrades to the Release Preview eBook as well as the final eBook. (If you order the Release Preview eBook, then it comes with a free upgrade to the final eBook.)"

    Sadly if you order the Home Basic or Home Premium editions you will not have access to even-numbered pages, section titles or the index, and the maximum font size will be 8pt.

  5. JB says:

    It doesn't anywhere mention that it has c++ code. It mentioned c++/cx but that's not c++.

  6. John says:

    Uh, sounds a bit fishy to me.  Fifth Edition is all about the "classic" Win32 API.  Sixth Edition is all about the new-fangled Windows Runtime API.  I guess technically both books teach you how to "Program Windows", but the APIs are so dramatically different that it doesn't seem right to publish it under the same title.  He should change it to something like "Programming Windows via Windows Runtime".

  7. Michael Mol says:

    Bought the $20 eBook, hoping there'd be something backportable to my day job. (C++, MFC, WinXP through Win7, legacy codebases.) There isn't. Ah well; at least I only paid $10 for it.

    On a different note, a quick read through this makes it look a <em>lot</em> like programming for Android. I won't be surprised in the least when design-once-compile-to-everything tools for Android and iOS development add Windows 8 to their target set.

  8. Michael Mol says:

    Typo in my comment. $10 eBook, not $20 eBook.

  9. Rodrigo says:

    Hey, I learned Win32 from Petzold too (and I still program Win32 today).

    It's great to have another Petzold book for the low-level hardcore heads!

  10. Tyler Reddun says:

    Ah, Programing Windows, one of the core books I used when learning Win32 back in the day (I had both 4th and 5th edition). Seeing that 6th edition covers all the new API I've been wanting to learn, it seems like $10 is a bargain.

  11. kero says:

    I remember I was very surprised that in the publication ¬ęProgramming Windows" in 1998, Petzold said not a word about DefDlgProc … I wonder if he said in a new edition…

  12. David Brooks says:

    Your list of Petzold's amazing Hawaiian output excludes the 1000-page ebook "Programming Windows Phone 7" (http://www.charlespetzold.com/…/index.html), in which he does everything possible to avoid actually writing any code-behind; XAML is his thing here.

    [I omitted a bunch of other books too. Didn't realize I had to provide a comprehensive list. -Raymond]
  13. It's a shama it's not a C++ guide, but I have been meaning to learn C# at some point.

  14. JamesNT says:

    Mr. Chen,

    I was under the impression your book did quite well. . .

    JamesNT

  15. WndSks says:

    Your book is sitting on my shelf next to Windows Internals, that's gotta count for something :) A Programming Windows style book from you would be great (Just as long as it's not about WinRT but I'm guessing that ship has sailed)

  16. Not a 6th edition says:

    This is a totally different book than the original Programming Windows books.

    It seems very misleading to call it the 6th edition.

  17. spike says:

    I bought you book, but i have yet to read it!

  18. t@speot.is says:

    Thanks for the heads up on the offer, Raymond.

    I'm confused about all the people confused by the "Sixth Edition" part of things. It's not "Programmer Windows with C++ and WINVER <= 0x0601", is it? It's "Programming Windows". A lot has happened in 14 years.

  19. Nick says:

    That's a really cool model for selling a book.  I bought a copy, if for no other reason than to see more books do this.

  20. I have Petzold's "Programming Windows with C#" from 2002; I wonder why this isn't counted as the next edition of that series.

  21. Joshua says:

    [I omitted a bunch of other books too. Didn't realize I had to provide a comprehensive list. -Raymond]

    There are some people who delight in catching Raymond in pointless error.

  22. Cheong says:

    @WndSks: Same here. Although both books are packed in the box now. (My current flat is too small for having bookselves)

  23. mikeb says:

    Thanks for the tip – I always appreciate a good programming e-book bargain.

  24. JB says:

    I guess that's my problem, I thought this was an updated version of the much earlier books to cover win32 in windows 8 but that's not what this book is. I'm sure it's a great book but not the one I want :)

  25. Marcel says:

    Not really interested in WinRT/C# per se, but at $10 I bought it nonetheless. Perhaps one day I might need it ;) So thanks for the tip!

  26. I think really the reason why most of us were expecting a book without so much C# is the way Raymond set it up in his post!  He says he writes about C# but that he has gone 'back' to the topic of Windows programming, which would lead us to believe the new book was about programming with C/C++ or anything different to the aforementioned C#, Windows Forms, WPF and Silverlight.

  27. John says:

    @ta.speot.is:  "Programming Windows" is more-or-less the Bible of Win32.  This is like taking the Quran or Book of Mormon and publishing it as "The King James Bible: 2nd Edition".

    Also, look at his publishing history (http://www.charlespetzold.com/books.html).  "Programming Microsoft Windows Forms", "Programming Microsoft Windows with C#", "Programming Microsoft Windows with Microsoft Visual Basic .NET".  Why publish those books under their own titles and this one under an already established title?  This new book should be called "Programming Windows Runtime" (or whatever) instead of hijacking a previous series.

    Programming Windows: 1st Edition (1988) – Win32 via C

    Programming Windows: 2nd Edition (1990) – Win32 via C

    Programming Windows: 3rd Edition (1992) – Win32 via C

    Programming Windows: 4th Edition (1996) – Win32 via C

    Programming Windows: 5th Edition (1998) – Win32 via C

    Programming Windows: 6th Edition (2012) – Absolutely, Positively Not Win32 via C

    Yep, makes total sense.

  28. Paul M. Parks says:

    @John: Sorry, but no. The first three editions were not Win32; that didn't appear in any form until the fourth edition that addressed Windows 95. Only the fifth edition could be considered completely Win32.

  29. John says:

    @Paul:  Bitten by a technicality, but you know what I meant – the traditional Windows API.

  30. Raphael says:

    Nice. Bought. Hmm … did I just decrease his potential profits by $40?

  31. EMB says:

    > he has no plans to write a sixth edition of Programming Windows.

    Well, you made him correct the FAQ.

  32. Raymond, I bet your MS Press book did better than my MS Press book!  Although I was asked to do another edition for .NET, hmmm.  Anyway, I meant to, but never got my copy of "The Old New Thing" autographed by you.  Maybe I'll send you an autographed copy of my book (use it to raise up your monitor another inch) and I'll send a long a copy of your book and return mailer.

    @Michael Mol:  You can get the following excellent MFC books from Amazon.com or Ebay.com very cheaply:  "Programming Windows with MFC" by Jeff Proise, "MFC Visual C++ 6" by Mike Blaszczak, and "MFC Internals".  Proise's book follows a very similar organization that mirrors Petzold's "Programming Windows" series.

Comments are closed.