This Rich Hickey quote from 2011 is quite relevant in 2026:

"I think we're in this world I like to call guardrail programming. Right. It's really sad. We're like, I can make change cause I have tests. Right? Who does that? Who drives their car around banging against the guardrails, saying whoa, I'm glad I've got these guardrails because I'd never make it to the show on time."

https://www.youtube.com/watch?v=SxdOUGdseq4#t=16m08s

"Simple Made Easy" - Rich Hickey (2011)

YouTube
@sanityinc used the quote two day ago!
@defuneste I think it lands differently now than when it was first made, for then-unimaginable reasons

@sanityinc @defuneste Yeah, I was active in both the Clojure and TDD worlds at the time, and it was clear Hickey was talking about a different kind of testing than I was doing. The kind I’d been doing in the ‘80s, where testing was not used as a tool for thinking about a problem or the design of a solution.

I had roughly the same attitude as Hickey until I sat down and used TDD on a serious project. I don’t know if he ever has. I’ve been out of Clojure for over a decade (!)

@sanityinc @defuneste It’s sort of an interesting meta-commentary. Both of us thought we could discard a methodology by reasoning about it rather than trying it. I was lucky that @RonJeffries argued me into giving it a try.

Part of a career of reasoned-through conclusions that didn’t stand up against experience. Eventually I figured out that maybe I’m not smart enough to get it right by sustained cogitation, so I needed to adopt an approach more driven by rapid feedback from the world.

@marick @sanityinc @defuneste @RonJeffries This goes right to the heart of 'but TDD isn't automated testing, it is using little code examples to guide your design iteratively and provide feedback'. 'test-driven' is such a shockingly misleading term for a design method guided by runnable examples.

@marick @sanityinc @defuneste @RonJeffries and of course TDD came out of the dynamically typed world of Smalltalk.

I can understand the FP/static typing argument of 'Why use tests when you can prove everything with types?' But I don't get rejecting TDD in Clojure just because you can repl-massage a program into existence.

Perhaps the confidence comes from the fact you are composing lots of tiny functions that are independently easy to reason about. But I'm still not convinced.

@tastapod I'm also fairly sure that Hickey would have refined new abstractions by, in part, writing examples that used them, not necessarily 100% in his minds eye from the hammock.

@marick @defuneste @RonJeffries

@sanityinc @tastapod @defuneste @RonJeffries Perhaps. I was in the audience for the Hammock talk and, as he said on the last slide, it was a rant. He was staking out an extreme position. However, as so often happens, the need to valorize something thought underappreciated leads to a ratcheting effect of disparaging everything else.

Which, because of the hero worship our field is prone to, leads to a locked-in absolutist position.

@sanityinc @tastapod @defuneste @RonJeffries In personal communications with him and people close to him, I got no sense that he thought of tests as having anything to do with examples-for-learning.

Later, that sort of example was supposed to be explored at the repl, perhaps to be saved as a test (with tool support). Why that was supposed to be better than writing the example in the form of a test to start with was never clear to me. (1/2)

The rhetoric was very rah-rah, heavy on emotion, light on walking through considerations and alternatives.

But that was around the time I moved from Clojure to Elixir, so I don’t know how repl-driven development panned out. (2/2)

@tastapod @sanityinc @defuneste @RonJeffries I’d rather allude to the idea of a second marriage being a triumph of hope over experience. (Samuel Johnson)

You start programming. Your brain wants to think that pure cogitation is sufficient. Life teaches you otherwise.

You discover a type of programming that’s more math-ey and uses small functions. This gives you an excuse to hope that, this time, you can live comfy in the world of Pure Thought.

@tastapod Agree, and I think Hickey got heat at the time, exactly because we didn't relate to his straw man view of TDD. My point in posting the quote is that there's now a belief that computer-generated tests + computer-generated-code is sufficient to obtain good software, and I think that's related to the prevalent view of TDD as being about guardrails. Maybe it's the same underlying issue of not enough people thinking about design and appropriate abstraction at *any* step along the way.

@marick @defuneste @RonJeffries

@tastapod @sanityinc @defuneste @RonJeffries Examples make a dandy governor for people temperamentally inclined to over-abstraction. (Waves.)

Kind of a Watt Governor¹ for our minds, which after all Freud analogized to a steam engine.

¹ https://en.wikipedia.org/wiki/Centrifugal_governor

Centrifugal governor - Wikipedia