Notes from Rich Hickey's Simplicity Matters slides.
"Simplicity is the ultimate sophistication." -Leonardo da Vinci
| Complexity | Simplicity |
|---|---|
| State, Objects | Values |
| Methods | Functions, Namespaces |
| Variables | Managed refs |
| Inheritence, switch, matching | Polymorphism a la carte |
| Syntax | Data |
| Imperative loops, fold | Set functions |
| Actors | Queues |
| ORM | Declarative data manipulation |
| Conditionals | Rules |
| Inconsistency | Consistency |
| Complex | Simple |
|---|---|
| Positional arguments | Named arguments or map |
| Syntax | Data |
| Product types | Associative records |
| Imperative programs | Declarative programs |
| Prolog | Datalog |
| Call chains | Queues |
| XML | JSON, Clojure literals |