Are We There Yet - Rich Hickey

Zhang Jian4 HN recommenders · 2021–2026
24K views · talk · evergreen · Uploaded 2019-07-29

Rich Hickey's talk on time, state, identity and values, arguing that mutable object-oriented modeling fits the world poorly. It lays out the thinking behind Clojure's approach to data and change.

Recommended as one of the best explanations of why Clojure and a functional, immutable approach to state exist.

Watch on YouTube

6 comments from Hacker News

@raspasov2021 · in “Tour of our 250k line Clojure codebase”

I personally started with this talk by Rich Hickey (person who made Clojure) [VIDEO] One of the best "why Clojure" talks that I've seen, especially for somebody coming from an OOP perspective, like myself.

Strongly recommendsView on HN
@raspasov2022 · in “Ask HN: New Programming Language?”

>> I am surprised that there are still no software development platforms where you use one language for all levels and do not have to translate between different ways of representing data and interacting with services. You've spotted a problem that I think many people are blind to. I agree 100%. If you'd like to explore more about Clojure, I highly recommend this talk [VIDEO]

RecommendsView on HN
@simongray2022 · in “Case against OOP is understated, not overstated (2020)”

If you're going to reference a Rich Hickey take-down of OOP, I think "Are We There Yet?" is the most pertinent: [VIDEO] Of course, Simple Made Easy is excellent too, probably his most influential talk.

RecommendsView on HN
@adamkl2022 · in “Two Vexing Problems in Functional Programming”

Late to the party here, but what you propose is not being cheeky. Rich Hickey (Clojure creator) himself has a similar, interesting, and compelling take on time and mutability [0]. This perspective is the underlying basis of Datomic. [0] - [VIDEO]

@joshlemer2022 · in “Two Vexing Problems in Functional Programming”

Rich Hickey made a great talk on this in 2009 [VIDEO] An other way to think about it is that the programs we write do not literally simulate entities (users, other domain objects like books, students, professors, classes, etc). Our software simulates the record keeping devices that store /protect information regarding these entities. We are most of the time writing information processing systems, not simulation systems and information accumulates, rather than updates in places. Like, e.g. when there's a new president elected, we don't all go out with our erasers and remove all references to change sentences from "The President is Donald Trump" to say "The President is Joe Biden", instead we accumulate new facts without remembering the old.

RecommendsView on HN
@onlyrealcuzzo2026 · in “My thoughts after using Clojure for about a month”

Rich Hickey's: Are We There Yet may be interesting to any one here: [VIDEO] I found this to be one of the more interesting talks I've watched. Like you (I think) - I love functional languages. But there's a problem I can't really figure out how to articulate where they reach a level where they stop "just working" imo. Maybe it's just me being too dumb.

RecommendsView on HN