If you removed hand-written code but didn’t add explicit invariants, you lost rigor. If you’re generating implementations without rigorous evaluation, you lost rigor. If you’re accepting code because it runs rather than because you understand it, you lost rigor.
Across decades of software evolution, the same misunderstanding keeps recurring. Constraint removal is mistaken for loss of rigor.
Chad Fowler making some very good points here. It’s possible to use these tools properly but that’s going to require a bunch of (re-)learning of practices.
