4 ms·
SICP is great for me because I get new things from it on repeated readings. The original content is ostensibly suitable for a freshman (provided you are familia
by yomly 6y ago
SICP is great for me because I get new things from it on repeated readings. The original content is ostensibly suitable for a freshman (provided you are familiar with the mathematical domain) but the ideas around abstraction and modularity are timeless. If you study and reflect on the content, Sussman and Abelson are truly trying to guide the student to arrive at an appreciation of software engineering concepts.
I remember there being a question where after implementing a tree where the leaf nodes are represented as a list, they then pose the question - how much of your code needs to change if you needed to reimplement them as a pair?
The point being a pithy lesson in indirection/abstraction - had the student set up named accessors, there would be very little code to change.
- fsloth 6y agoTo me the crown jewl of SICP is the universal scheme interpreter they build in the later chapters. That opens the book to be used in _any_ language. Now we have an internet there are hobby schemes implemented in every language, so it's fairly easy to find ideas if you are stuck implementing the necessary substrate using the language of your choice (ie. mostly tokenizer, parser and some form of eval/apply).