who the compiler was for

Casey Muratori says AI isn’t a compiler, and that it isn’t for people who love programming. He’s right on both counts. He’s still got the change backwards, and the reason he can’t see it is the same reason almost nobody in his part of the field can.

The clip is sixty seconds long. Casey Muratori, the Handmade Hero guy, the man who will happily spend an hour on why your loop is slow, is explaining why he doesn’t use AI to write code.

It goes like this. If you’re the kind of person who gets excited about “how texture mapping worked on the PlayStation 1,” then of course you don’t care about AI. For you it’s “about a fundamental love of the act of programming and the curiosity about how it works.” People tell him it’s just another tool, like a compiler. “It’s not. You’re typing in English. It’s very imprecise and difficult to control.” He doesn’t mind other people using it, but it’s a bad match for someone “who wants to do the poking directly.” It makes “an even less direct connection between you and the program. And that’s exactly the opposite of what I want.”

I want to be fair to this, because most of it is true.

he’s right twice

It isn’t a compiler. I spent a whole essay on this earlier this month. A compiler takes something unambiguous and turns it into something else unambiguous, the same way every time. A model takes English, which is built to be ambiguous, picks the most likely reading and doesn’t tell you it picked. Anyone who sells it as “the next compiler” is selling you something.

And he’s right about himself. He isn’t gatekeeping in this clip. He says, out loud, that he has no problem with other people using it. He’s describing what he loves, and he’s correct that a chat window in the middle of it is a worse version of the thing he loves. If your joy is the poking, something that does the poking for you is a loss.

So where’s the backwards part?

less direct than what

It’s in one phrase: “an even less direct connection between you and the program.”

Less direct than what? For Casey, less direct than C, a debugger and a disassembly window. That’s the baseline he’s measuring from.

Now count everyone who ever wanted to make a program and never did. The person with the idea for the tool, the game, the scraper, the thing that would fix their Tuesday. They had the curiosity. They had the problem. What they didn’t have was two years to spend learning to poke. For them the connection to the program wasn’t more direct or less direct. It was zero. A connection through English is less direct than C and a lot more direct than nothing, and for a lot of people it’s the first one they’ve ever had.

That’s the change. Not that programmers got a new tool. That the line around who gets to be one moved, overnight, and moved a long way.

the room was filtered

So why does someone that sharp miss it? Not because he’s dumb, and not because he’s protecting a guild. It’s a sampling problem.

Think about how everyone in Casey’s world got there. You found the poking. You loved it, or you put up with it long enough to start loving it. You spent the years. Everyone who didn’t love it, or couldn’t spend the years, left, and they left before they were ever counted as programmers. They’re not in the conference talk, the Discord or the podcast comments. They’re invisible to the field, because the field is made only of people who got through.

Then you ask that room what programming is for, and the room says: the love of the act. Of course it does. The gate selected for people who love the gate, and now the gate looks like the point.

The PlayStation texture-mapping question is a good test of whether you’ll enjoy the work. It was also, for fifty years, the entrance exam. When the exam goes away, the people who passed it feel like something sacred got cheapened. The people who failed it, or never sat it, feel a door open. Both are describing the same event. Only one of them can see the whole hallway.

this has happened before

Grace Hopper had a working compiler in the early fifties and couldn’t get anyone to use it. Her line, quoted everywhere since: “I had a running compiler, and nobody would touch it because, they carefully told me, computers could only do arithmetic; they could not do programs.”

John Backus ran into the same wall a few years later with FORTRAN. Looking back in 1980, he described the programmers of that era as something like a priesthood. They were proud of how hard their work was and conservative about it, they were convinced good programming couldn’t be automated, and they pushed back on anyone trying to make programming easy enough for everyone.

They had a point too. Early compiled code was less direct than hand-tuned assembly. You gave up control. You typed something closer to math and trusted a program to turn it into instructions you didn’t write. That’s Casey’s complaint, sixty years early, aimed at the tool he now uses every day.

FORTRAN shipped in 1957, and physicists and engineers started programming their own problems without going through the priesthood. Within a generation almost nobody wrote assembly for a living, and the people who did were the ones who loved it. Some of them wrote the compilers. Handmade Hero is written in C-style C++. The poking Casey loves happens one floor above a layer somebody in 1955 swore was a step too far from the machine.

Every one of these steps cost the people already inside some directness, and every one let in people who’d been outside. It’s the same trade every time.

same tool, two tools

The philosopher Don Ihde had a useful word for this: multistability. One artifact can settle into more than one stable use, and the design doesn’t get to decide which. Ihde also sorted tools by how they sit between you and the world. Some become part of your body: glasses, a keyboard you’ve stopped noticing. Some stand in front of you as a sort of other that you deal with, like an ATM.

Casey wants the first kind. His tools are supposed to vanish so he can feel the machine. AI shows up as the second kind, a quasi-person standing between him and the program, and to someone who wants contact, that’s in the way.

For the person who was never in, it’s the same artifact in a different stable use. It isn’t standing between them and the program. It’s the only thing that connects them to the program at all.

Neither of them is wrong about the tool. The mistake is assuming that the use you’ve settled into is the only one the tool has.

what I’d grant the old guard

There’s a real cost here, and Casey’s clip gets near it without saying it. The kid who would have fallen in love with texture mapping might now never have to poke anything. The curiosity might never get the thing it feeds on.

I don’t buy it all the way. When I was a kid I typed commands into DOS and a castle answered. That wasn’t poking at memory. It was asking. Asking is how a lot of us got curious about what was underneath, and some of the people asking a model for a game today will want to know why it’s slow. A gate doesn’t make curiosity. It only filters for the kind that survives the gate.

In January I built my home-infrastructure toolkit in a run of 3 AM sessions. Twenty years of knowing exactly what the system should do, and the first night ended with dozens of files I’d never have found the evenings to type. I’m not someone who couldn’t get in. I’m someone who could see the door from the inside, and I know how many people were standing on the other side of it.

where it leaves me

Keep the poking, Casey. The field needs people who know how the PlayStation mapped textures, and it’ll need them more as the layers stack up. That kind of directness is a real craft, and it’s rarer every year.

But “less direct” is a measurement only people who were already connected can take. For everyone else, it’s the first connection they’ve had. Backus’s priesthood was right that FORTRAN put something between them and the machine. They were wrong about who it was for.