Charles Petzold

Congratulations to Chris Anderson!

February 1, 2007
New York, N.Y.

Yesterday Chris Anderson announced that his WPF book is now in Amazon's system, which pretty much means that it's inevitable. (Well, that's not entirely true. Amazon still lists this book and this book, and neither of them was ever completed, although you can see actual covers at the bottom of my Books page.) Anyway, congratulations!

I don't know if I'll be able to read all the WPF books that come out — and I really don't feel comfortable commenting on their content in a critical way — but Chris Anderson's book is the one I'm looking forward to the most, primarily because he was involved in creating the technology and has been giving presentations about it for ages.

Who is the best person to write a book about a programming interface? Is it a person involved in designing and implementing that interface? Or an outsider (e.g., a person much like myself)? There are definitely advantages to either viewpoint. The person involved with the technology can certainly offer insights and rationales into the design. But the danger is that the author is so close to the technology that he or she can no longer imagine what the reader needs to know.

When I'm writing a book, I like to be fairly fresh to the material. That doesn't mean that I'm writing the book from a pristine state of total ignorance, but that I can still remember my own learning process. I can remember what didn't make sense to me, what concepts I stumbled over, and how strange and bizarre certain aspects of the API seemed at first. In other words, I can feel the reader's pain because I've been there myself.

One of the earliest readers of Programming Windows told me that he appreciated that my book was the first thing he read about Windows programming that didn't try to pretend that the Windows API was "normal" or "intuitive." That's because I was approaching the topic from the viewport of a DOS-based programmer, and it didn't seem normal or intuitive to me at all.

I guess it really helps that I enjoy banging on APIs until I'm satisfied that I know what they do. And the best time for me to write about that is shortly thereafter. To me, writing a book is an enormous learning experience.

But I won't claim this is the only legitimate way to write a book, and that's why I'm curious to see how Chris Anderson has tackled the topic.