Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL



MUCH INK is devoted to describing the “how” of using and developing software for Windows, but few authors go into the “why.” What might appear at first to be quirks often turn out to have entirely logical explanations, reflecting the history, evolution, and philosophy of the Microsoft Windows operating system. This book attempts to provide knowledge not so much in the form of telling what needs to be done (although there is certainly plenty of that, too) but rather by helping to understand why things came to be that way. Thus informed of the history and philosophy of Windows, you can become a more effective Windows programmer.

The emphasis here, then, is on the rationale behind Windows. It is not a reference or even a tutorial, but rather a “practical history,” taking a conversational rather than didactic approach in an attempt to give you an appreciation for the philosophy of Windows through a series of brief, largely independent essays. You can therefore skip freely to topics of momentary interest (or technical expertise). Essays have been grouped into general themes, and there is the occasional sequential pedagogical treatment when a topic is explored in depth; even in those cases, however, the topic is confined to a single self-contained chapter.

Writer and commentator David Sedaris is often asked whether his stories are true. He responds that they are “true enough.” Like David Sedaris’s stories, the material in this book is also “true enough.” The focus is on the big picture, not on the minutiae; on making a single point without getting distracted by nitpicking detail. Key details are highlighted, but unimportant ones are set aside, and potentially interesting digressions may be neglected if they do not serve the topic at hand.

The primary audience is technology-savvy readers with an interest in Windows history. About half of the essays require no programming background. Most of the remaining topics assume a basic background in software design and development, although nothing particularly advanced. Topics specifically related to Windows programming assume reader familiarity with Win32 user interface programming and COM. The table on page xxv provides a breakdown of the chapters for nonprogrammers and for general programmers who do not have an interest in Win32 specifically. Of course, you are welcome to skim chapters not explicitly marked as of interest to you. Perhaps you will find something interesting in them after all.

What will you get out of this book? As noted previously, the primary goal is to convey the philosophy and rationale behind what might at first appear to be an irrational design. You will also understand that when something can’t be done in Windows, it’s often for a good reason; and you will gain an appreciation of the lengths to which Windows goes to preserve backward compatibility (and why it’s important that it do so). And if nothing else, you will be able to tell amusing stories about Windows history at cocktail parties (that is, cocktail parties thrown by other geeks).

Much of the short-essay material here has already appeared in one form or another on the author’s Web site, The Old New Thing (, but is substantially supplemented by new material better suited to book form.

Visit the Web page for this book ( to download two bonus chapters, “Tales of Application Compatibility” and “How to Ensure That Your Program Does Not Run Under Windows 95.” Think of them if you like as the book version of a movie’s unique and insightful deleted scenes. The Web page also contains the code samples from the book as well as errata.

Breakdown of Chapters by Audience
ChapterTitleGeneral AudienceGeneral ProgrammerWin32 Programmer
Chapter 1Initial Forays into User Interface Designxxx
Chapter 2Selected Reminiscences on Windows 95xxx
Chapter 3The Secret Life of GetWindowText  x
Chapter 4The Taskbar and Notification Areaxxx
Chapter 5Puzzling Interface Issuesxxx
Chapter 6A History of the GlobalLock Function  x
Chapter 7Short Topics in Windows Programming  x
Chapter 8Window Management  x
Chapter 9Reminiscences on Hardwarexxx
Chapter 10The Inner Workings of the Dialog Manager  x
Chapter 11General Software Issues xx
Chapter 12Digging into the Visual C++ Compiler xx
Chapter 13Backward Compatibilityxxx
Chapter 14Etymology and Historyxxx
Chapter 15How Window Messages Are Delivered and Retrieved  x
Chapter 16International ProgrammingFirst halfxx
Chapter 17Security xx
Chapter 18Reminiscences on Windows 2000 and Windows XPFirst halfFirst halfx
Chapter 19Win32 Design Issues Partx
Chapter 20Taxes xx
Chapter 21Sillinessxxx
[*]Tales of Application Compatibilityxxx
[*]How to Ensure That Your Program Doesn’t Run Under Windows 95 xx

[*] These bonus chapters can be downloaded from


  • Safari Books Online
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint