Simple and Predictable

There are two ways of constructing a software design: one way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult. – C.A.R. Hoare[4]

To make a product feel simple, every time a person takes a particular action, they should see the same result. That predictability means the user always understands their place in a product.

There’s an added bonus here: not only is predictability key to simplicity, predictability is also a substitute for control.[1]

A tool should strive for

Beware of Hype

there is no silver bullet[.] any single tool, no matter how good it is, must be evaluated from the engineering point of view of pros and cons. Everything has a cost, and implies compromises. It's a matter of ROI. Which is hard to evaluate without experience.[5]

References

  1. https://amivora.substack.com/p/to-make-something-simple-make-it?s=r
  2. http://stanleylieber.com/2022/04/03/0/
  3. https://en.wikipedia.org/wiki/The_Art_of_Unix_Programming
  4. https://scribe.rip/m/global-identity?redirectUrl=https%3A%2F%2Fblog.francoisfournier.eu%2Ftwo-ways-of-constructing-a-software-design-82f58c6d45aa
  5. XML is the future

Last modified: 202401050416