My own expectation is that limitations result in creativity. Writers block is usually a result of having too many possibilities/choices. If I tell you “You can write a story about anything”, it’s likely harder for you to think of anything than if I tell you “Write a story about an orange cat”. In the latter situation, you’re more limited, but you also have something to work with.
I’m not sure if it’s as true for computers as it is for humans (that would imply information-theoretic factors), but there’s plenty of factors in humans, like analysis paralysis and the “See also” section of that page
My other explanation probably has to do with the fact that it’s way easier to work with an already almost-executed object than a specification, because we are constrained to only think about a subset of possibilities for a reasonable time.
In other words, constraints are useful given that you are already severely constrained, to limit the space of possibilities.
My own expectation is that limitations result in creativity. Writers block is usually a result of having too many possibilities/choices. If I tell you “You can write a story about anything”, it’s likely harder for you to think of anything than if I tell you “Write a story about an orange cat”. In the latter situation, you’re more limited, but you also have something to work with.
I’m not sure if it’s as true for computers as it is for humans (that would imply information-theoretic factors), but there’s plenty of factors in humans, like analysis paralysis and the “See also” section of that page
My other explanation probably has to do with the fact that it’s way easier to work with an already almost-executed object than a specification, because we are constrained to only think about a subset of possibilities for a reasonable time.
In other words, constraints are useful given that you are already severely constrained, to limit the space of possibilities.