Ian Bicking: the old part of his blog

Coding Metaphors

The metaphors that we use to talk about programming are important; often the search for a programming technique is more about finding the metaphor than the mechanics -- the mechanics probably already existed, there's a good chance the mechanics are right under your nose, that you wrote them, but without a good metaphor to support it, it's hard to recognize what you have.

As an example, I saw Alan Kay give a speech some years ago, and he identified what he thought was the first object oriented system. Written by an unknown soldier (probably not an officer), it was a tape system where the tapes contained programs for retrieving the records on the tape, and those programs were at well-known conditions. I.e., the tape was the object, and those programs were the methods. This was maybe sometime in the early sixties. This wasn't the birth of object oriented programming, merely an example of it; the world wasn't ready for its birth, and the unnamed soldier wasn't the voice that could introduce it.

So it is, we seldom recognize the important of our new ideas, and the ideas that are important are never new. Maybe all the best ideas are just ways of telling ourselves what we've unwittingly done right, so do more of the same.

Created 20 Jan '05