2003-08-17 Conduit metaphor as folk systems theory The conduit metaphor is a way of interpreting a system that already has space (that is, distance within itself: the meaning of words distributed among people, different understandings and semantics), and of introducing space into systems that need it (object orientation introduces distance into computer programming). It's our folk systems theory. Because we divide the world into parts which contain qualities, it appears that qualities "leak" giving us a problem to solve. If the earth was moving through space, surely a rock dropped from a tower wouldn't stay with the tower as it fell -- it would be left behind? Therefore the earth can't be moving. (Feyerabend, Against Method p73.) This misconception is based on the Aristotelian assumption that the nature motion of an uninterfered-with object (the rock) would remain at rest -- or rather, the conception of the rock as a passive object and movement as a response to a stimulus [the conduit metaphor], which is quite reasonable if everything you deal with is in a single reference frame. Relativity, reference frames and so on give a much better solution: that qualities aren't contained by objects, and depend on perspective. The locality of the universe we observe uses abstraction layers to give the illusion of well-defined parts which have attached qualities (of cause and effect). The quantum universe is abstracted into a mechanical universe, which is abstracted via statistical mechanics into bulk properties (volumes, pressures, movements). An abstraction layer is a container, an object orientation. In software architecture, when a large amount of code is used and modified together, we observed that transformations (perturbations) would spread through the system. There is no distance in code, so a change in one place could affect anything else in the system. So we introduced an imitation of distance: object orientation. Code that shares dependencies must move together without other code noticing. Like the abstraction layers of the universe it imposed a distance between clusters of code. Transformations have less effect over greater distances. (This is why I refer to abstraction layers as distance.) But like the rock falling from the tower we have assumed that properties are absolute and contained within objects. If properties are absolute then to introduce distance there must be the concept of inheritance. The rock inherits its movement from the tower. Rather we should be thinking that similar code has to move together, occupy the same reference frame. Code relativity. Our folk systems theory, the conduit metaphor which leads to containers and inheritance, has oversimplified again. The conduit metaphor is a method of imposing a space - that is, a network of distances - on a system - on a system. It's our default expectation of a system because it works well for the world humanity came into, but it's not necessarily the best one to use. The universe solves the problem of distributing side-effects (which is the problem with code, that a bubble pressed down somewhere comes up somewhere else: transformations are conserved) by using the distance between "abstraction layers" (I use that term now as a shorthand for the fuzzier reality). The universe creates new forms of distance in order to separate out a space -- anything which reduces the connection between two probabilities is a distance: think of how distance is created inside the physical world by walking to the centre of a maze. --- There are more appropriate metaphors, than the conduit metaphor, which draw on biological roots: proteins "communicate" by matching their surface shapes, by expecting certain shapes, implicature and all the rest. (You can touch someone with words.) Karl Popper: "Thus in the evolution of the eye, even its earliest predecessor had to become a controller of the movement of the cell". (Sense and response are isomorphic.) The conduit metaphor is a quest to introduce space into communication in order that we can understand it. We want to be able to talk about meaning moving.