This tradition of code-sharing depends heavily on hard-won
expertise about how to make programs cooperative and reusable. And
not by abstract theory, but through a lot of engineering practice
— unobvious design rules that allow programs to function not just
as isolated one-shot solutions but as synergistic parts of a
toolkit. A major purpose of this book is to elucidate those rules.