Structures and Interpretations of Computer Programming Programs must be written for people to read, and only incidentally for machines to execute.