AUDIENCE: What does this decision making through abstraction layers do to the
axiom of do all your design before any of your code?<p>PROFESSOR: Well, that's someone's axiom, and I bet that's the axiom of
someone who hasn't implemented very large computer systems very much.<p>I said that computer science is a lot like magic and it's sort of good that
it's like magic. There's a bad part of computer science that's a lot like
religion. And in general, I think people who really believe that you design
everything before you implement it basically are people who haven't designed
very many things.<p>The real power is that you can pretend that you've made the decision and then
later on figure out which one is right, which decision you ought to have
made. And when you can do that, you have the best of both worlds.<p>Structure and Interpretation of Computer Programs » Video Lectures » 2B: Compound Data, around minute 00:37