“Three centuries ago science was transformed by the dramatic new idea that rules based on mathematical equations could be used to describe the natural world. My purpose in this book is to initiate another such transformation, and to introduce a new kind of science that is based on the much more general types of rules that can be embodied in simple computer programs.”
Good software design begins with documentation. Write the user manual first. This is an old problem. In Computer Power and Human Reason: from Judgment to Calculation (1976), Joseph Weizenbaum warned of hackers whom he compared to compulsive gamblers. Driven by the superstition that one more patch will fix their problems, they stay up late, bleary-eyed and disheveled, working ever more frantically on a program they began without any reference to the substantive literature in the field in which they claim to be working.
Humans generally have two modes of perception. System 1 is intuitive and it tells us all about a person and their immediate context relative to us by looking at their face. You know when someone is happy, sad, angry, puzzled. System 2 is effortful and computational; it informs us of our choices for agency by engaging mental concentration. This book is about the very many errors caused by confusing the two modes. For example when statisticians intuitively assess statistical data, they are predictably wrong.