“A computational process is indeed much like a sorcerer’s idea of a spirit. It cannot be seen or touched. It is not composed of matter at all. However, it is very real. It can perform intellectual work. It can answer questions. It can affect the world by disbursing money at a bank or by controlling a robot arm in a factory.
The programs we use to conjure processes are like a sorcerer’s spells. They are carefully composed from symbolic expressions in arcane and esoteric programming languages that prescribe the tasks we want our processes to perform.”
SICP’s subject is controlling complexity: the one problem that does not get easier as hardware improves. It teaches you to decompose hard problems into layers that each make sense on their own, then compose those layers back into something that works.
Frameworks abstract the machine. Libraries abstract the algorithm. Abstractions-on-top-of-abstractions let you ship a great deal without ever asking what is actually happening here. That is useful. It is also a ceiling.
The programmers who break through that ceiling can read a recursive process and see its shape in memory. They know why one algorithm costs O(log n) and another O(n²); not because they memorized it, but because they watched the computation unfold.