"Software Engineering" Is Not Engineering
3 hours ago
- #software design
- #programming paradigms
- #computer science
- Computer Science is not science and Software Engineering is not engineering because software design lacks objective metrics and ties to physical reality.
- Software is more akin to mathematics, allowing creation of virtual worlds with internal consistency, unlike engineering bound by physical laws.
- Debates in software often revolve around idioms, paradigms, and conventions, which are difficult to compare objectively due to reliance on human psychology and productivity factors.
- Programmer productivity and maintainability are key concerns, but empirical studies are scarce, and personal comfort with tools often dictates productivity.
- Existing computer science literature focuses on techniques and idioms, such as Boolean algebra, but fails to provide scientific methods for evaluating 'better' approaches.
- The flexibility of software enables infinite possibilities, but this also makes objective evaluation nearly impossible, leading to persistent, unresolved debates in the field.