4 ms·
If the system being modeled is abstract, you might get away with claiming that it is unbiased. If the system being modeled has very much to do with the real wor
by canhascodez 8y ago
If the system being modeled is abstract, you might get away with claiming that it is unbiased. If the system being modeled has very much to do with the real world, the modeler is forced to make assumptions about said putative "real" world, because the real world is inconveniently large and complex to fit in memory. However, one of the problems that societies and maintenance programmers encounter is that in the long run these assumptions are invalid.
We've pretty much all read the article "Myths Programmers Believe about Names", and various snowclones. We still write dumb name validation code every day, because there actually isn't a perfect way to do that, and we have to ship something. Even when the concepts are perfectly executed, the fundamental assumptions of the model may change. Having separate classes for "tool" and "weapon" may make sense one day, and the next day you need to write the game Clue. Even if you're working with such boring concepts as filtration, you may have to adjust your model when you discover that water is compressible.
All models are wrong, in many ways, both subtle and overt, both currently and in the future. Some may be useful. I'm not sure that there's any solution to these problems except more and better models though.