3 ms·
IMO this is the defining characteristic of software development. It's why I love it, and why the processes that support doing it well are different from other t
by cwalv 3y ago
IMO this is the defining characteristic of software development. It's why I love it, and why the processes that support doing it well are different from other types of projects.
I also think other disciplines will inevitably move more in this direction. Once things can be accurately modeled and tested with computers, the iteration cycle becomes similar. You do have to eventually build the "machine", but I think that will become more and more automated, sortof like a compiler.
- eternityforest 3y agoIf you do 3D printing, make furniture, or anything like that, you can sometimes carry over ideas from programming. Once you've built something yourself, you start seeing problems like "Oh, this assembly has multiple parts that all need to be done in place, how can I change it so I can build it all in the shop and just screw it in". But with software, we try as hard as we can to make it impossible to mess up. With physical goods, we seem to prefer things that can be messed up, things that only look good with expensive materials, etc. Things that by their existence, demonstrate the skill of the maker, and the wealth of the buyer. We don't really know what the limits of pocket screws joinery and cardboard tabletops are, because... nobody is trying to make something out of cardboard that lasts a century, they just assume it will be thrown away. With software, we start with the assumption that no programmer is up to the challenge, nobody will ever understand a large system, no user will ever be competent, etc, and figure out how to make amazing things anyway.