Excellent article by Terence Parr: Why writing software is not like engineering
Main points:
- “Congress does not go to NASA halfway through a moonshot and ask them to go to Mars instead.”
- When building a house, it’s pretty hard to make the toilet flush when you ring the doorbell. In languages like C++, it’s very hard to make 100% sure this can’t happen.
- Is it science? No, science is about conducting experiments and accumulating knowledge.
I don’t agree with software == art. Art is meant to make emotions available to a larger audience. Maybe writing error messages at M$ is an art form but general coding isn’t.
Conclusion: Software development is a craft just like carpentry or masonry.
Related articles:
I support you dearly that engineering is constrained by the real, physical world and software is on a different note. Engineering experiences fewer constituent component interactions thus making the difference between software writing and engineering more provable.
Thank you for the brilliant way you’ve explained this.