3 ms·
Stupid, stupid, stupid. Ants do not construct any high-level map of the terrain they are working in or plan of what to do. Every action of every ant is strict
by ScottBurson 11y ago
Stupid, stupid, stupid.
Ants do not construct any high-level map of the terrain they are working in or plan of what to do. Every action of every ant is strictly local. The author seems to hold this as a virtue, but it's well established that building a large program that way leads to an unmaintainable mess at best, and complete failure at worst. It can perhaps work for smaller programs in well-understood domains, and where the overall architecture is clear to everyone, but anything large, novel, or inherently difficult must be designed.
Contrast this brilliant Peter Naur essay someone linked to the other day: http://www.dc.uba.ar/materias/plp/cursos/material/programmingAsTheoryBuilding http://www.dc.uba.ar/materias/plp/cursos/material/programmin...
- daveguy 11y agoDid you read the article? I'm not sure how e-mails, comments and code reviews, all given as examples of stigmergic markers, constitutes strict locality. The author is advocating for nothing of the sort. It seems like they are arguing for the communications to be closer to the code (and github is a good example of how this works well).
- ScottBurson 11y agoThere may be some valid content to the article, but using the behavior of ants and termites as a guiding metaphor strikes me as so totally wrong-headed that I can't get past it.
- jamesblonde 11y agoThere's still a lot to learn from stigmergy. That synchronization can mediated through signals/state from a shared environment. Evolution probably uses tho mechanism more widely than we currently understand. To speculate, just think how human mood is affected by global chemical levels such as serotonin.
- RangerScience 11y agoIndividual ants do not. The colony as a whole, however, does, through virtue of the shared stigmertic responses, which is forgivable because those responses have been selected for because they result in that structure. People, of course, can do better - we can map out the terrain, come up with a plan, and then follow swarm methodologies. In this kind of situation, swarm methodologies look like recursively applied minimum-viable-product development: Look at the situation. Determine the smallest unit of change to produce meaningful results. Make that change. Repeat. Do this at all levels of the organization and code base: from the top (the people making the map and the plan) to the bottom (an hour's worth of code). The essence of stigmertic coordination is that I respond to the situation as it is, rather than the situation as I desire it do be ("the plan" - how I desire the situation to be in the future), and that when I finish a task, I re-evaluate the situation as it is, rather than proceed along a set path ("the plan").
- thaumasiotes 11y ago> It can perhaps work for smaller programs in well-understood domains, and where the overall architecture is clear to everyone, but anything large, novel, or inherently difficult must be designed. The disciplines of economics and biology might take exception to this. http://fee.org/freeman/i-pencil/ http://fee.org/freeman/i-pencil/ > Actually, millions of human beings have had a hand in my creation, no one of whom even knows more than a very few of the others. Now, you may say that I go too far in relating the picker of a coffee berry in far off Brazil and food growers elsewhere to my creation; that this is an extreme position. I shall stand by my claim. There isn’t a single person in all these millions, including the president of the pencil company, who contributes more than a tiny, infinitesimal bit of know-how.