If you’ve spent any time at all on Irreal, you know that I consider Structure and Interpretation of Computer Programs (SICP) one of the best—arguably the best—books on computer science. It’s influence was tremendous and served as the backbone of the introductory programming course at MIT for a couple of decades.
Then, seemingly suddenly, MIT abandoned SICP and started using Python to do things like control robots in their introductory course. Most of you oldtimers know that I have very strong feelings about this. Just ask Grant.
Still, this change was driven by Sussman and Abelson, the authors of SICP and the primary teachers of the course that was built on it, and we have to consider that maybe they knew what they were doing. Here’s Sussman, in a fairly recent video, explaining the decision to retire SICP. If you care about SICP at all, you should definitely watch it; It’s only 7 minutes long.
Sussman builds a great case for the power of the SICP approach but I’m less convinced by his rational for what replaced it. He describes the poking at “batteries included” libraries to figure out what they do as a sort of science. To me, it seems more like casting magic spells. Younger engineers using those libraries—almost always without understanding how they work—are just casting spells without any understanding of the magic behind them. I think a lot is lost with this approach but folks smarter than me—like Sussman—disagree. Still, we’re all entitled to our opinions and this is mine.