Measures of Complexity
- Vapnik–Chervonenkis dimension: cardinality of the largest set of points that a binary classification algorithm can learn.
- Kolmogorov complexity: length of the shortest computer program that produces the object as output. (see also Gall’s Law)
- Essential Complexity: irreducible, non-eliminable part of the system
- Accidental Complexity: everything else to make it work
Making Simple Software
Source talk by pvh
- Why is example code normally so simple? Well, it lives in an ideal world. It only cares about the happy path. Defensive code is complex
- Vigilance works for small systems… but not large complex ones!
- Type systems off-load mental state and assumptions about the code and make it explicit