4 ms·
Imagine if you could build a skyscraper by running the blueprints through a machine that automatically builds it with essentially zero costs, and then you can j
by demian 11y ago
Imagine if you could build a skyscraper by running the blueprints through a machine that automatically builds it with essentially zero costs, and then you can just tear it down and rebuild it again deppending on how it responds. The engineering methods applied would be completely different. And furthermore, it would incentivize a close iteration and "sketch"-like process that would approach to something that people can considered "artistic", becasue you replace the "let's be 100% sure our specs are perfect and follow strict mathematical models before building" with "let's just build it and figure it out".
This is what happens in software. The code is the blueprint, the exact spec, and "building it" means running it through the compilation/deployment pipeline.
Software is a machine, but the main difference with other machines is not that you can't analyze it with math or can't approach it as classical engineering, is that it's not economically feasible to do so. The translation from the blueprint (the unambiguous, absolute and exact spec, the CODE) to the final product (the deployed working system) is "automatic" and basically free from material costs.
PS: And add to this the fact that most software is NOT "critical" (as in "if it fails in production people die").
- lyschoening 11y agoIs an architect an engineer? They draft and re-draft their blueprints until they are happy with them, and then oversee the construction process making changes to the plan as necessary. This is analogous to writing software and deploying it. There's more at stake perhaps, but the process is not all that different.
- Sharlin 11y agoYes, architecture is probably the closest analog to software development in how it straddles the division between art and engineering.
- vkjv 11y agoIMHO, this sounds more like the distinction between theoretical science and experimental science. You may consider one or the other art, but to me they both can be.
- stefanix 11y agoThe dichotomy is less pronounced than it appears. Architecture can be simulated with high accuracy without actually building the blueprints (actually 3D models). Software apps on the other side take considerable human resources to be tested. Simply running the software is a poor assessment of fitness.