Ironwall Design Thesis
Core premises:
- Practical engineering languages cannot provide engineering-meaning-guarantees for memory/concurrency safety through type systems and static checking.
- Expecting type systems and static analysis to guarantee memory/concurrency safety is the computer-science version of "perpetual motion machine" delusion.
Core position:
- Safety first, especially preventing RCE.
- The core path is reducing complexity.
- Eliminate massive security costs caused by saving a few keystrokes.
- Reject the delusion that type systems and static analysis have superpowers.
- Reject the delusional overestimation of what engineer discipline can achieve.
- Use high-cost-effectiveness abstraction mechanisms.
- Tool analyzability must be a first-class design goal.
- Embrace runtime mechanisms.
- Compile to native.
- Fail fast:Recoverable failures should be modeled with explicit data models. On unrecoverable failures, terminate immediately.