Skip to content
0:00 / 0:00

#clojure#richhickey#simplicity

"Simple Made Easy" - Rich Hickey (2011)

Strange Loop Conference

88K subscribers • 102 videos on Hallway • Conference channel

YouTube
  • Recommended by 16 people: 14 on Hacker News, 1 on Lobsters and 1 in engineering communities.
  • A classic. People kept recommending it from 2022 to 2026.
  • Presented by Rich Hickey, creator of Clojure
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

219K views5 years ago16 recommendations

Software designProgramming languagesSimplicity and complexityDesign patternsSoftware architecture

Rich Hickey explains the critical difference between simple and easy, arguing that software complexity arises from intertwining concepts and constructs.

Rich Hickey, the author of Clojure and designer of Datomic, is a software developer with over 30 years of experience in various domains. Rich has worked on scheduling systems, broadcast automation, audio analysis and fingerprinting, database design, yield management, exit poll systems, and machine listening, in a variety of languages. This keynote was given at Strange Loop 2011, and is perhaps the best known and most highly regarded of Rich's many excellent talks, ushering in a new way to think about the problems of software design and the constant fight against complexity. The video was recorded at Strange Loop in partnership with InfoQ, who have hosted it on their site since 2011. This version (released 10 years later) is a new edit made from the original HD video and slides, restoring the slide transitions and animations as it was given in 2011.

Why it's here

16 people recommend this

What people say. Recommended as a must-watch talk on software design that changes how developers think about complexity and simplicity.

u/notfromkentohioin r/functionalprogramming • Recommends

If you HAD to work on a project that primarily used object-oriented design, what functional programming patterns (if any) would you keep in your tool box? I was introduced to functional programming recently through Rich Hickey's Simple Made Easy talk and subsequently watched a few more of his videos, as well as Scott Wlaschin's talk on Domain Modeling Made Functional. In general it's fun to learn new paradigms, but I'm also very drawn to the concepts of reducing complexity, using composable types, and idempotency. That said, I can't (and shouldn't, given how inexperienced with it I am) impose purely functional design on a team that currently uses and understands an object-oriented app…

datboion Lobsters • Recommends

"Simple Made Easy" (2011)

idunnomanon Hacker News • Recommends

On “Learnings from 5 years of tech startup code audits”

As developers, I've come to believe that complexity is the worst sin we commit. Everything we talk about can be traced back to this issue. This is largely due to paying attention to Rich Hickey and learning Clojure. link to this video

tincholioon Hacker News • Recommends

On “Most(LY Dead) Influential Programming Languages (2020)”

"Simple made easy" 0 by Rich Hickey is a must-watch (even if you never touch Clojure) 0 link to this video

alanwreathon Hacker News • Recommends

On “Simplicity”

loved the take and re-enforcement of a talk I’ve loved forever by Rich Hickey (famous for being integral to the creation of Clojure among other things) called “Simple Made Easy” link to this video Anyone know of any books that dive deeper into the subject?

globular-toaston Hacker News • Recommends

On “A better build system for OCaml”

Also the point of software engineering is to take the real complexity that actually exists and you can't get rid of and work out how to write simple code to deal with it. Good software architecture does not include complexity because there is complexity in the business. It manages the complexity with simple code. The trouble is when people say "complex" you don't really know what they mean, though. They often just mean "difficult". Every programmer who wants to use that word needs to watch this: link to this video

bad_haircut72on Hacker News • Recommends

On “Lua for Elixir”

You need to watch this link to this video We should try not to make technical judgements based in flippant things like how few lines can someone not even familiar with the ecosystem get a hello world working

Lyngbakron Hacker News • Recommends

On “Nine things I learned in ninety years”

I'm sure most folks here have seen the talk, but Rich Hickey's Simple Made Easy # is a superb discussion about this in the context of software. # link to this video

hinkleyon Hacker News • Recommends

On “Do the Simplest Thing That Can Possibly Work (2004)”

Obligatory Simple Made Easy link: link to this video Simple is a matter of intuition, and that can't be transmitted to others easily, or with a single class or book. At one particular job we got punished by the business for calling things 'easy' when what we mean is that we understand the problem and all of the steps are (mostly) known. Our boss coached the hell out of us to say 'straightforward' when we meant 'understood', instead of using 'easy' as an antonym for 'quagmire' or 'scary'.

weatherlighton Hacker News • Recommends

On “Teach yourself Computer Science functionally”

…n to is simple vs easy. Imperative programming in the very very beginning is easy, buts not simple. Because there’s all this implicit state in your program, as the program grows it becomes very very complex. It’s no longer simple. There’s this really great talk about this idea by rich hickey, the creator of clojure, that dives into this in detail. link to this video…

SahAssaron Hacker News • Recommends

On “Show HN: I built a backend so simple that it fits in a YAML file”

A simple system is built so that not many parts are intertwined and hard to understand how it is built. A easy system might be very complexly built, but presents and easy interface for you to use. If complex it would be hard to understand how it is built and how to modify. Basically simple describes how the system is built, while easy describes how much you need to know to use it. They are orthogonal, so a system can be both complex and easy, both simple and hard. See link to this video

chamomealon Hacker News • Recommends

On “Zig's (.{}){} Syntax”

I know this gets shared all the time, but in case anybody in this thread hasn’t seen the rich hickey talk: link to this video

TacticalCoderon Hacker News • Recommends

On “Figma Slides Is a Beautiful Disaster”

> They just don’t get it. What comprises a good presentation. I take it one could argue between what's a presentation and a talk but to me one of the very best presentation I've seen is Rich Hickey presenting Clojure. Then there's "Simple made easy" considered by many to be one of the greatest ever: link to this video There are many bullet points: but he'll go through each them and only show the next bullet point once he's done with the previous one. He even kids about a made up graph on one of the slide. I think that what makes a good presentation depends a lot on what's being presented.

jimbokunon Hacker News • Recommends

On “I'm dialing back my LLM usage”

I think LLMs have made a lot of developers forget the lessons in "Simple Made Easy": link to this video LLMs seem to be really good at reproducing the classic Ball of Mud, that can't really be refactored or understood. There's a lot of power in creating simple components that interact with other simple components to produce complex functionality. While each component is easy to understand and debug and predict its performance. The trick is to figure out how to decompose your complex problem into these simple components and their interactions. I suppose once LLMs get really good at that skill, will be when we really won't need developers any more.

skeeter2020on Hacker News • Recommends

On “Nobody Gets Promoted for Simplicity”

I think Rich Hickey's talk about simple is great for defining these terms (literally). He describes how the roots of "simplex" mean single braid, which compares to the twisting & coupling with complexity; an apt visual for software development. He also differentiates simple/complex from easy/hard, which is important. link to this video

jeffreygoestoon Hacker News • Recommends

On “Mythical Man Month”

"Simple made Easy" is a nice add-on, the first half is the philosophical part and a classic. link to this video