Structure and interpretation of computer programs Abelson, Harold Popularity → Current 75 Peak 88 Niche 98 MIT Press 1996 657 pages