On Wednesday 27 July 2011 20:54:48 David Barbour wrote: > On Wed, Jul 27, 2011 at 10:41 AM, Chris Warburton > <chriswa...@googlemail.com > > > wrote: > > > > Locality: Mentioned in passing for relativity, but locality is a very > > useful property that holds for most Physics: stuff happens because of > > stuff nearby. > > This seems an incomplete observation. If we include 'physics' itself in the > equation, we could make different things happen by adjusting the rules > governing them. I.e. behavior happens because stuff exists in a governing > field or environment. > > A common problem encountered in developing OO simulations, games, etc. is > that we ascribe rules directly to the objects, then later find the model > inflexible and stubborn when we want to tweak the rules. We can solve this > by modeling each object with a reference to its environment, but the > abstraction seems wrong - the idea of a bunch of objects 'voluntarily' > obeying a rules set doesn't seem much like physics at all! > > > > In computing this would be the equivalent of "globals > > > considered harmful". > > I understand space and connectivity to be distinct concepts. Globals are > more of a connectivity issue (i.e. controlling coupling and propagation of > effects) than a space issue. Object capability model, for example, > eliminates globals without modeling space. The notion of space I was using was within the codebase; whilst not a canonical way of thinking about relationships, it's generally the case that code that is generally used together is generally defined together, which makes spotting the behaviour of its components pretty straightforward.
Globals, on the other hand, violate this rough notion of locality. Whilst an overwhelmingly bad idea, it's certainly possible to use globals to couple the behaviour of 2 sections of code that are seemingly separate (in terms of codebase and apparent functionality). In principle, the whole codebase needs to be examined to study a system with globals. Of course there are phenomena like quantum entanglement, but such things can for the most part be ignored in general; local interactions are usually dominant. A machine of arbitrary complexity can be understood without having to examine the whole Universe. An interesting property of locality and the Universe is that there isn't much space for things to be close. In 3D, for any distance r there is only a volume (4/3)*pi*r*r*r which is within r. This means that not only are physical systems dominated by local interactions, but that there are only relatively few such interaction going on at once. For lower dimensions there is less space in total, so fewer systems can be close. For higher dimensions, there is far more space, but within a given volume most of it is "far away" from the center ( http://en.wikipedia.org/wiki/High-dimensional_space#Volume ). Regards, Chris _______________________________________________ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc