Here in computer science land, the quest is for the perfect abstraction. That’s what our job is anyway, Software Engineer my ass, more like lead abstraction implementer. This quest for the perfect abstraction is never-ending, and certainly cannot be attained by humans. We aren’t capable of creating bug-free software, so our abstractions will be inherently leaky. If it wasn’t leaky, then it wouldn’t be abstracted.
Today I was doing some brainstorming in class and came to the conclusion that paper is the perfect abstraction for our minds. The ideas, words, or pictures that you put on a piece of paper have meaning. However, the way that you put them down only has meaning to you. Others might be able to grasp why it is laid out the way it is, but true free form brainstorming I feel is inherently meaningful, but the ideas cannot be translated easily. It has some abstract meaning to you, but the meaning is in the relation of the objects on the paper and in your head. Presumably if the ideas could be laid out more succinctly with words they would have been. So in the terms of abstraction perfection, I think that it is one of the few examples we have of a perfect abstraction.
Of course, this means that you assume the brain, if only we could do that in CompSci. It would make things a lot easier :) Perfect cognitive relations are out of reach for a little while longer…