The long way through Software Craftsmanship

Talk: Simplicity matters

Apr 18, 2015 - 1 minute read - Comments - clojurerich-hickeytalkkeynoterails-conf

I’ve seen this video by Rich Hickey: “Simplicity matters”, taken from Manuel Rivero’s google plus' site

here are my notes:

  • the software is the elephant
  • do more, do it differently, do it better
  • complexity of the elephant is going to dominate what you can do
  • your ability to reason about your program is critical
  • design is about pulling things apart
  • become familiar by learning, trying
  • “We can be creating the exact same programs out of significantly simpler components”. Rich Hickey

Complexity vs simplicity:

Complexity Simplicity
state, objects values
methods functions, namespaces
variables managed refs
inheritance, switch, matching polymorphism à la carte
syntax data
imperative loops, fold set functions
actors queues
ORM declarative data manipulation
conditionals rules
inconsistency consistency
  • he does not agree on “simplicity” on the agile manifesto
  • simplicity is not about you. simplicity is a lot of hard work
  • simplicity is not an objective

Order is all over the place:

Complex Simple
positional arguments named arguments or map
syntax data
product types associate records
imperative programs declarative programs
prolog datalog
call chains queues
XML JSON, Clojure literals

Disclaimer about AI/GenAI

As of 2026-05-06, the text in these articles and blog entries has been written without AI/GenAI, except I sometimes use a spellchecker to fix errors. Think Word's spellchecker, not ChatGPT.

Notes, as of today (2026-05-06):

  • No code snippet has been automatically generated, nor vibe-coded, nor generated and reviewed.
  • I don’t have any article with AI contribution.

For future entries:

  • I may have used GenAI for the code in the repo. The code I exemplify/copy in the article will always be reviewed and tested, not vibe-coded. I will specify it in each snippet or at the top/bottom of the article.
  • I normally don't use it for the text contents, although if I have used it for the article text, it would be indicated as such.

Any entry before 2026-05-06 does not contain any AI/GenAI.

For more information, read the AI/GenAI Policy

The Guardian of the Source Logging is a feature