4 ms·
I think SICP is extremely well written and worth a read. I know its contents are slightly controversial (Maths! Functional Programming! Scheme! Lots of Silly Pa
by lispm 5y ago
I think SICP is extremely well written and worth a read. I know its contents are slightly controversial (Maths! Functional Programming! Scheme! Lots of Silly Parentheses!) and now a bit oldish - the course on which this book is based was created around 1980. There are roughly a dozen books which try to be an improved version of SICP. Still, it's a classic and it has inspired a lot of people.
The original group for which the book was written are computer science students. As such it is only partly about learning 'Scheme' (actually only a small subset) or 'Programming'.
Originally one wanted to teach how to do software engineering from the ground up: build an evaluator, a compiler, a register machine, ... This style now is a bit out of fashion and the education switched to a different approach: assemble available Python modules. Still I like the SICP approach to give students a deep understanding how to build up from basics.
In the Lisp world, there are books like Winston/Horn 'Lisp' (which adapts some content from SICP) or 'PAIP' from Peter Norvig, which are also challenging. 'Lisp' is more interested in teaching actual programming in a larger language and 'PAIP' teaches programming by exposing students to larger programs and larger code examples. Still both give the students, like SICP, a lot of inspiration to experiment with the provided topics and examples.
There are other books/courses based on Logo, Scheme, Oz, etc. which address some of the complaints about SICP.
SICP now is also available in a JavaScript edition.
https://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs,_JavaScript_Edition https://en.wikipedia.org/wiki/Structure_and_Interpretation_o...