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 |