The Old New Thing: Practical Development Throughout the Evolution of Windowsby Raymond Chen, ISBN: 0321440307
This book is full of highly-entertaining articles on everything from why you can’t install Windows via XCOPY to the evolution of Win32 dialog templates. OK, maybe I don’t find the bits about dialog templates so interesting, but the rest of the book is full of very interesting topics on how Windows has come to be what it is.
Chen has been in the Win32 world at Microsoft for a very long and really, really knows his stuff. He’s very skilled at what he does and is very forthright about what he doesn’t know. His show on DotNetRocks was much along the same lines as this book: lots of very deep dives into areas of his expertise with clear disclaimers “That’s out of my realm.”
So what use will this book be for folks who are outside the Win32 arena? First, it’s a nice background on some basic Windows behaviors like why the Shutdown option is under the Start menu, what overlay icons do, why registry files are called hives, and odds and ends about internationalization. There’s also a lot of content which is applicable to folks in any domain: taking appropriate care with world-writable files, the impacts of server paging, or general bits about developing sort routines.
Secondly, the book is just plain entertaining. Chen writes in a light, humorous fashion and manages to make most of his articles very interesting. (It’s impossible to make a couple pages of example machine code immensely exciting, but Chen comes close.)
Overall the book’s a good skim for folks like myself. I’d say it’s extremely important if you’re involved with Win32 development — and that means .NET folks who are doing a large bit of Interop programming.
His blog, the Old New Thing, is a good read as well and gets a lot of great discussion in his comment threads.
(As always, see my standard book review disclaimer.)