Programming is Like Writing a Book