Surface Tension of Software
2 days ago
- #system-integrity
- #constraints
- #software-design
- Surface tension in software refers to the integrity and coherence that keeps systems stable when changed.
- Good software maintains its shape through clear boundaries, honest interfaces, and consistent language.
- Constraint-driven design principles like purity, immutability, and idempotence prevent impossible states and maintain system integrity.
- Type systems and invariants act as membranes, ensuring only valid states exist and reducing ambiguity.
- Well-designed systems eliminate nonsense states, making defensive checks unnecessary.
- Balance is key—too much rigidity (like ice) makes software inflexible, while too little leads to entropy.
- The best systems find a balance between structure and freedom, allowing both stability and adaptability.