Structure and Interpretation of Computer Programs

Structure and Interpretation of Computer Programs

NOT AVAILABLE IN THE US AND CANADA. Customers in the US and Canada must order the Cloth edition of this title.
Sign up to use

Reviews

Photo of Julien Sobczak
Julien Sobczak@julien-sobczak
5 stars
Oct 22, 2022

Brilliant. A classic to understand what programming is really about. There are many books to learn how to write computer programs. This book is different. It was the textbook for the introductory programming course at MIT where authors were teaching starting from the 80s, and was largely used by teachers all around the world. But the book is not an easy ride. You will learn so much more than just how to write a program in a given programming language. You will learn the art of computer programming by understanding the different paradigms (functional, imperative, logic), what is a programming language through building an interpreter and a compiler, all of this using only LISP (variant Scheme). The content is incredible, brilliant, and impressive. I've been an "experienced" professional programmer since more than a decade. What is the point of reading an introductory book? Personally, I found in this book the best demonstration of how functional programming makes it easier to reason. But that's not all. I think any programmer will find profound insights even on topics we think we master. The book uses mathematics as the basis for most examples: prime numbers, Fibonacci numbers, square root, Pi evaluation (but also bank account withdrawal to discuss mutability). Nothing too complicated even if like me, your mathematical background is stored in an arcane part of your memory. I enjoyed that the authors use the same examples to illustrate different variants/paradigms/implementations. The book is wonderful to appreciate the full range of programming. It's the kind of book that makes you see programming differently. The book also contains numerous exercises (without their solutions), but if like me, you can't spend a semester working on them, you may safely ignore them and still enjoy the reading. The Wizard Book, as it is known in hacker culture, should definitely be on every programmer's reading list. It has since been replaced in 2008 by a new introductory course at MIT, which uses Python. I can easily imagine the motivations but this doesn't make this book obsolete. Not at all!

Photo of Misha
Misha@yagudin
5 stars
Mar 9, 2023
Photo of Hardik Prajapati
Hardik Prajapati@hardik
5 stars
Feb 26, 2023
Photo of Nicola Zangrandi
Nicola Zangrandi@nicolapcweek94
4 stars
Feb 1, 2023
Photo of Louie Dinh
Louie Dinh@ld
5 stars
Dec 19, 2022
Photo of Swastik
Swastik@swastik
5 stars
Nov 27, 2022
Photo of Faruk Aydin
Faruk Aydin@farukaydin
5 stars
Aug 8, 2022
Photo of Amy Troschinetz
Amy Troschinetz@lexicalunit
4 stars
Dec 27, 2021
Photo of Kemal Akkoyun
Kemal Akkoyun@kakkoyun
5 stars
Jul 26, 2021