Wizard Book: Structure and Interpretation of Computer Programs

By Xah Lee. Date: . Last updated: .

This is one of the most famous book in 1990s. Structure and Interpretation of Computer Programs , aka SICP, the Wizard Book.

Structure and Interpretation of Computer Programs
Cover of Structure and Interpretation of Computer Programs Buy at amazon

i read the first 3 chapters of SICP (out of a total of 5) in 1998. It was 1 of the best programing related book i've read. perhaps among top 3. but today (year 2019), i think its value decrease a lot.

Because, first of all, there's 1k times more great info on programing or computer science on the web. (for example Wikipedia) Secondly, the landscape changed. There are 20 times more langs and proraming fields with a magnitude more libraries.

The book doesn't teach any practical computing nor actual comp sci.

i think there's a version of it for elisp and clojure too. and i think python too.

so shoud you still read it?

i think it's just depends on you. If you do have time to read a programing book that's not exactly a concrete tutorial of something, but more philosophical, it's a good one.

to put in context: for example, if you want to learn haskell, there's lots concrete books. For Scheme Lisp, the official tutorial and doc at Racket Scheme site [https://racket-lang.org/] is pretty good. (SICP doesn't really teach Scheme, also the version used can't readily run. it's i think MIT Scheme.)

if you want to learn theoretical computer science, such as formal languages, automata, algorithms, data structures, computability theory, etc, the SICP doesn't touch any of that.

So what's sicp good for? i think it's like reading essay or novel. It builds your thought about programing. Read it with a cup of tea for pleasure.

scheme lisp SICP Japan edition
SICP Japan edition. 〔image source: http://www.principia-m.com/ts/0050/index-jp.html

Book is free online At https://mitpress.mit.edu/sicp/

There are also free online course taught by the authors.

[Structure and Interpretation of Computer Programs Video Lectures By Hal Abelson And Gerald Jay Sussman. At http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/ , accessed on 2015-06-10 ]

There's also a open source by MIT, @ http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/

scheme lisp SICP My Little Pony
scheme lisp SICP My Little Pony
scheme lisp SICP anime girl 92855
Buy at amazon
scheme lisp SICP anime girl 27946
Buy at amazon
scheme lisp SICP anime girl 51358
Buy at amazon

See also: Why You Should Avoid the Jargon Tail Recursion

If you have a question, put $5 at patreon and message me.