Programmer ants
In Emergence, Steven Johnson interviews ant researcher Deborah Gordon and on page 74 she says something very interesting: “I was interested in systems where individuals who are unable to assess the global situation still work together in a coordinated way [...] And they manage to do it using only local information.”
In the discussion on the emergentdesign list, Ron Jeffries wrote something that I mentally hyperlinked to this: “I find that refactoring messy code to be clear – good naming, removal of duplication, increasing cohesion, reducing coupling – seems almost magically to produce a good design.”
I also came to think about what Alan Watts said in a talk titled “Seeing through the net” (unfortunately not available at Audible.com, or I’d bought it right away). He spoke about how Western science and technology was all about “bitting” stuff, splitting it into fragments and analyzing the fragments, and he warned against spending too much time using the “spotlight” and forgetting the “floodlight”, to pay attention to the bigger picture.
Emergence seems to defy what Watts spoke about. But I’m not sure. Watts also said that “floodlight intelligence” was the kind of intelligence that lets you drive a car, following all traffic rules and actually reaching your intended destination, while discussing something with your passenger. I wish I could get hold of the talk.
Anyway, Johnson continues to write about how, for an ant, ””seeing the whole” is both a perceptual and conceptual impossibility” thus limiting the perception of ants “to the street level”. Still, the “harvester ant colonies constantly adjust the number of ants actively foraging for food, based on a number of variables: overall colony size (and thus mouths needed to be fed); amount of food stored in the nest; amount of food available in the surrounding area; even the presence of other colonies in the near vicinity.”
Now imagine a team of programmers working on implementing a system, without any design created up front, isolated and just communicating with code storied in a central CVS repository – but somehow, magically, they have a shared understanding of what the system needs to do, like the ants seem to magically know just the right thing to do locally to benefit the colony.
I’ll get back to this. See also my previous posts: Pandemonium and Slime molds.