Edsger Dijkstra wrote EWD 667 in 1978, and the core argument hasn't aged a day. The memo takes aim at a persistent dream in computing: the idea that if we could just talk to machines in English (or Dutch, or Swahili), programming would become easy. Dijkstra's counter is not that machines aren't smart enough for natural language. His counter is that natural language isn't smart enough for programming. The structural argument is elegant. Interfaces are not zero-sum divisions of labor — adding complexity on the machine side doesn't subtract it from the human side, because the communication overhead across the interface must be added to both. The history of "narrow interfaces" in systems design had already taught this lesson by 1978. Dijkstra saw that a natural-language programming interface would be maximally wide, maximally ambiguous, and would increase the burden on both parties. He reaches for mathematics to make the point stick. Greek mathematics stalled as a verbal, pictorial activity. Islamic algebra regressed when it abandoned symbolism for rhetoric. Western Europe's scientific revolution depended on the consciously designed formal symbolisms of Vieta, Descartes, Leibniz, and Boole. The pattern is consistent: formal notation doesn't constrain thought — it liberates it by ruling out the nonsense that natural language makes almost impossible to avoid. The sharpest line in the memo reframes the entire debate: "Instead of regarding the obligation to use formal symbols as a burden, we should regard the convenience of using them as a privilege." School children can now do what only geniuses could achieve before formal notation existed. The impulse to flee from formalism back to natural language is, in Dijkstra's telling, a flight from capability back toward medieval scholasticism — "a vain attempt at verbal precision." Dijkstra includes a pointed aside about declining literacy, noting that even educated people increasingly produce "meaningless verbiage" in scientific articles and government publications. If we can't use natural language effectively for purposes where it's adequate, the idea that we'd use it effectively for the far more demanding task of instructing machines is fantasy. The memo closes with a gut feeling that doubles as a design principle: machines programmable in natural language would be as difficult to build as they would be to use. This isn't a concession that the problem is merely hard. It's an assertion that the difficulty is structural and irreducible — that precision and ambiguity are not bugs to be patched but fundamental properties of their respective symbol systems. Read in 2024, EWD 667 lands differently than it did in 1978. Large language models have made natural-language interaction with computers spectacularly fluid — and in doing so, have illustrated exactly the failure modes Dijkstra predicted. LLMs are brilliant at generating plausible nonsense, precisely because natural language makes nonsense easy to produce and hard to detect. The memo didn't predict LLMs, but it predicted the shape of their limitations.