What’s the difference between a “programming error” and an “emergent consequence of the program as written”, other than whether the programmers decide they like the result? Is it just a question of whether the rules involved can be described intuitively at the level of user-interface objects rather than lines of code?
Answer to your question: Honestly, I should not have included that line about errors in there at all; it doesn’t need to be special cased out because most errors are emergent. (Not always; a missing negative somewhere is not emergent. But when you get to the complexity of a video game, most errors that will make it through QA are emergent.)
But also: I actually have thought about this a bit since I wrote this, and I think I can come up with a decent general definition for emergence: (don’t worry, I’ll get to your question in a moment)
Something is emergent when it is caused by a rule that works similarly to the second law of thermodynamics. (More specifically, the property of the second law that it isn’t actually a hard law at all; it’s just that when you crunch all the probabilities for all the particles involved, it is vastly more likely that the result will obey the second law then will not.)
Similarly, the ways economies develop aren’t hard laws; it would be entirely possible for an economy to develop in such a way that it lets you get a free lunch. It’s just that that, considering all the actors involved are out to find and take those free lunches, that you are about (using about very broadly here) as likely to find an actual free lunch as you are to find your foot has suddenly turned into gold.
(Also: I think it’s a mistake to point at some finished product of laws of emergence and say it’s emergent. “The economy is emergent” is just a short and slightly misleading way to say “The laws that govern an economy are laws of emergence”.)
But going back to what this predicts: It predicts mainly that there is something equivalent to atoms in thermodynamics or actors in economics; some small unit of behavior that you can test for. It also predicts (in very complex systems it might not be possible to do any actual math on this, but in theory it predicts) how often the law will fail. (As noted, sometimes all you can say with confidence is “it might fail sometime”; of course if it fails OFTEN it doesn’t have enough predictive value to justify keeping around.)
What’s the difference between a “programming error” and an “emergent consequence of the program as written”, other than whether the programmers decide they like the result? Is it just a question of whether the rules involved can be described intuitively at the level of user-interface objects rather than lines of code?
Answer to your question: Honestly, I should not have included that line about errors in there at all; it doesn’t need to be special cased out because most errors are emergent. (Not always; a missing negative somewhere is not emergent. But when you get to the complexity of a video game, most errors that will make it through QA are emergent.)
But also: I actually have thought about this a bit since I wrote this, and I think I can come up with a decent general definition for emergence: (don’t worry, I’ll get to your question in a moment)
Something is emergent when it is caused by a rule that works similarly to the second law of thermodynamics. (More specifically, the property of the second law that it isn’t actually a hard law at all; it’s just that when you crunch all the probabilities for all the particles involved, it is vastly more likely that the result will obey the second law then will not.)
Similarly, the ways economies develop aren’t hard laws; it would be entirely possible for an economy to develop in such a way that it lets you get a free lunch. It’s just that that, considering all the actors involved are out to find and take those free lunches, that you are about (using about very broadly here) as likely to find an actual free lunch as you are to find your foot has suddenly turned into gold.
(Also: I think it’s a mistake to point at some finished product of laws of emergence and say it’s emergent. “The economy is emergent” is just a short and slightly misleading way to say “The laws that govern an economy are laws of emergence”.)
But going back to what this predicts: It predicts mainly that there is something equivalent to atoms in thermodynamics or actors in economics; some small unit of behavior that you can test for. It also predicts (in very complex systems it might not be possible to do any actual math on this, but in theory it predicts) how often the law will fail. (As noted, sometimes all you can say with confidence is “it might fail sometime”; of course if it fails OFTEN it doesn’t have enough predictive value to justify keeping around.)