Designing bug-proof engines
a day ago
- Two strategies for designing bug-proof engines: make it impossible for bugs to get inside, or design it to tolerate bugs.
- Examples include Saturn V (perfectionist) vs Falcon 9 (tolerant), C (manual memory) vs Java (garbage collection), and storyboarding vs sloppy draft in writing.
- Engineers often assume failure is unacceptable; always question requirements and consider both ends of the solution spectrum.
- Bimodal systems have a perfectionist happy path and a sweeper sad path; often cheaper to just use the sad path to reduce complexity.