> The thing that is unique about software is the lack of physical constraints which serve as a natural forcing function or filter on quality.
Completely agree with this. The number of good+reasonable solutions is almost infinite, and the number of bad solutions is also almost infinite.
What makes it even worse is that we really don't have a good method of communicating the design+structure of our models to others (tech and non-tech). As the system gets more complex the issue gets worse.
We carry so much info in our heads about system models, and that info is painstakingly acquired through inefficient communication methods and trial and error and thoughtful analysis.
It would be amazing if we could create tools that allow us to describe the essence of the model and make it directly available to our brains so we could all collectively reason about it and manipulate it collaboratively.
The number of bad solutions is not just almost infinite. It is definitely infinite. Because, by induction, you can always make another bad solution from a bad solution by adding something unnecessary to it. Hence infinity. QED
"It would be amazing if we could create tools that allow us to describe the essence of the model and make it directly available to our brains so we could all collectively reason about it and manipulate it collaboratively."
Completely agree with this. The number of good+reasonable solutions is almost infinite, and the number of bad solutions is also almost infinite.
What makes it even worse is that we really don't have a good method of communicating the design+structure of our models to others (tech and non-tech). As the system gets more complex the issue gets worse.
We carry so much info in our heads about system models, and that info is painstakingly acquired through inefficient communication methods and trial and error and thoughtful analysis.
It would be amazing if we could create tools that allow us to describe the essence of the model and make it directly available to our brains so we could all collectively reason about it and manipulate it collaboratively.