Thursday, October 28, 2004

Relationships between things

I'm currently reading Bertrand Russell's 'History of Western Philosophy'. It has prompted me to think about the activity of computer programming in a philosophical context. More on this in a later blog when I've read more of the book.

One thing that I've been thinking about a lot today is my bias towards approaching computer problems by tackling relationships between entities, rather than focussing on entities solely. Modularity is more a theory of relationships, particularly dependency relationships, rather than a theory of modules. I've tried to stress this in the modularity courses I've been giving.

Why do we have a tendency to focus on entities and ignore entity relationships? I think one reason may be that we are used to entities being visible solid objects, while relationships, such as forces, are usually invisible. For example, when we look at a bridge we can see girders, bolts, frames, concrete slabs, but not forces, stresses and strains between those objects which are just as important in the functioning of a bridge.

If our experience of the world is skewed towards dealing with individual objects while ignoring relatoinships it is no surprise that when we come to software modelling we retain the same bias.

0 Comments:

Post a Comment

<< Home