Levels of abstraction
(This is in response to UD prof Dr. Andrews’ comment on my previous post, Inside the Magic Box.)
Now, I mostly agree with Dr. Andrews’ points (and actually I think they reinforce the importance of Free Software principles, since the complex algorithm cannot be made sense of if no one is allowed to know what it is). I was, perhaps, too hasty in my description of computers as magical at the expense of intelligibility; computers are, after all, understandable at every level of their being.
But what Dr. Andrews said raises in my mind a question about how we come to a basic understanding of complex, multi-leveled phenomena. He seems to suggest (though I may be misreading him) that for both computer and algorithm, it’s possible for the ordinary person to understand each level of the structure, and from there to understand the structure that connects the substructures.
I mostly agree with this. But I think saying only this leaves us with the false impression that because we can understand each part and move from the part to the whole, we can also intuit how the whole works. In my experience, the most difficult part of mathematics isn’t moving from an understanding of one level to an understanding of a higher level; it’s moving from an intuition of one level to an intuition of a higher level.
Consider abstract algebra: you move from elements, to sets, to groups, to fields, to extension fields, to groups of extension fields, and (so Unknown Quantity tells me–thanks, UD Math Department, by the way!) to things with names like categories and functors. My brother has told me what a functor is and I understood the words he was saying, but I can’t piece it back together. Most people, perhaps even some professional mathematicians, give up at a certain point, not because the words they read about functors don’t make sense while the words they read about groups did, but because as the subject grows more abstract it becomes more and more difficult to translate those words into an intuitive understanding of the thing described. Computer algorithms (and symbolic logic) are also like this: not too hard to understand but much harder to intuit.
This, I suppose, is why ultimately I’m not convinced that computers and cars differ only in degree. Even if computer classes in grade school actually taught computers, they would still seem to most people mysterious; they could perhaps explain how each level worked, but the behavior of the whole would still only hover at the edge of intelligibility. Hence, “magic”–by which I suppose I mean that we intuitively ascribe to computers a kind of agency that they don’t actually possess. We don’t react to computers the way primitive tribes react to guns, which would be one meaning of “treating technology like magic,” but we do treat them less like cars than like horses, and I don’t expect that to ever change.