Simple Made Easy - Rich Hickey

- "Simplicity is a prerequisite for reliability" --- Dijkstra.
- Reliability = Probability of success + Deals with risks of failures + Safety (errors) + Confidence.
- Formal mathematics VS informal (naive) mathematics = Axiomatic system VS intuitive non rigourous problem solving) (NB: nothing to have with formal/informal logic)
- Simple thing = one role, one task, one concept + No interleaving.
- Simple VS Easy ("for me") = Objective VS Subjective.
- We have to start assessing our constructs (languages/tools) based around the artifacts (final product), not around the look and feel of the experience of typing it in or the cultural aspects of that.
- Tradeoff: make complex system (dynamic, flexible ..)VS understanding them.
- After all, why simplicity matter? =>  Software still changing,  and change requires analysis and decisions.
- If you focus on ease and ignore simplicity, you will be able to go as fast as possible from the beginning. Afterwards, the complexity will eventually kill you.
- "Complect" (make complex) actually means to braid together. And "Compose" means to place together.
- Modularity is enabled by simplicity.
- State complects value and time. You don't have the ability to get a value independent of time. 

No comments: