David Heinemeier Hansson (DHH)
๐ค SpeakerAppearances Over Time
Podcast Appearances
And if we just take them quick one by one, you talked about optimizing for programmer happiness.
I put that at number one in homage of Matt's.
And that's a lot about accepting that there is occasionally a tradeoff between writing beautiful code and other things we want out of systems.
There could be a runtime tradeoff.
There can be a performance tradeoff.
But we're going to do it nonetheless.
We're also going to allow ambiguity in a way that many programmers by default are uncomfortable with.
I give the example actually here of in the interactive Ruby shell where you can play with the language or even interact with your domain model.
You can quit it in two ways, at least that I found.
You can write exit.
Boom, you're out of the program.
You can write quit.
Boom, you're out of the program.
They do the same thing.
We just wrote both exit or the people who built that wrote both exit and quit because they knew humans were likely to pick one or the other.
Python is the perfect contrast to this.
In the Python interactive protocol, if you write exit,
it won't exit.
It'll give you a fucking lesson.
It'll basically tell you to read the fucking manual.