Does anyone know where this quote comes from? "How...
# linking-together
n
Does anyone know where this quote comes from? "How is the abstraction, for understanding? Is it well designed to help you see what is happening underneath?" I was so certain it was from Learnable Programming or another Victor piece but I cannot for the life of me track it down. Maybe it's my paraphrase or misquote of someone and that's why I can't seem to Google it? Let me know if this rings a bell for anyone!
p
Steele and Sussman argue the exact opposite in The Art of the Interpreter or the Modularity Complex (Parts Zero, One, and Two). They say that a good abstraction has a meaning independent of its implementation and is not just an abbreviation.
n
Your comment now has me extra puzzled about this quote because now that you point it out, that is pretty close to the opposite of how abstractions are usually discussed (even without the extra nuance of the paper you linked, which I am looking forward to reading). I was thinking about the kind of abstraction where the interface hides something important and makes its behavior confusing until you can see what's inside.
p
The only thing I can think of that might be close is Dijkstra's comments about the difference between being abstract and being vague, and how abstraction is for creating a new semantic level at which one can be absolutely precise. https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html https://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD656.html That's all I can think of for now. That's not quite what you're looking for, but I hope it's at least interesting. Good luck in your search!
🙏 1
m
abstraction is a "reduction", tool. "reduce to highlight the essence", or "reduce impl details away" – are the intentions of tool application. "I can't figure out what this is all about until I read an impl" – is just an example of poor tool choice/application (or maybe just poor perception/pov).