Saturday, June 25, 2011

Computer is a metaphor

Although in Computer Theology, we expanded at length on the role of metaphors in the parallel between the elaboration of human and computer networks, and although we also related the geometrical and emotional sensori-motor systems as the root of human metaphors, we missed mentioning by name the core geometrical sensori-motor system at the center of computer programming (we did consider the specific -motor system of a computer processing unit though).

Consider the following story:

Pick up a container;
Take the road at its beginning;
Pick up a flower you like;
At the first fork in the road, take the right if you have a flower, the left if you don't.
If you took the right:
Go to the end of the road;
Plant the flowers and stop.
If you took the left:
Keep going on the road;
You'll soon be back at the beginning of the road;
Start over.

Hopefully you'll be less picky about choosing a flower the second time. But you got the point. Here we have a physical story, which matches exactly a typical program, which I now write:

start();
x = new Container;
loop {
if (random())
x.push(new Flower);
stop();
}
}
x.pop()
stop();

I have shown with a very simple example that programming is based on the exact same geometrical concepts that underlie our behavior.

Examples multiply:

http://selficient.com/index.php5?query=computer+metaphor.

What's missing is the needed development of explicitly metaphorical programming languages. This may not be the next generation (I think the next generation will be a wave of multi-purpose parallel programming languages), but I would expect it to possibly be the next one.

Bertrand du Castel

0 comments: