1.1 A Brief Introduction
This book is about programming design. However, unlike many books on this topic, this book teaches design by exploration rather than design by instruction. Typically, most authors writing about some aspect of design establish principles they wish to convey, lay out these principles in the abstract, and then proceed to give examples supporting the current points. This is not such a book. Rather, this book defines a practical problem to be solved and proceeds to examine its solution in detail. That is, instead of deciding on a topic and creating trivial examples ...