Dijkstra’s 1978 critique of natural-language programming resurfaces
A Hacker News submission revisits Edsger W. Dijkstra’s argument that instructing computers in everyday language could complicate programming rather than remove its underlying demands.
A Hacker News submission has brought renewed attention to Edsger W. Dijkstra’s 1978 essay questioning whether everyday language would make programming easier. The supplied snapshot recorded 103 points and 67 comments, figures that describe that snapshot rather than a verified live count. The submission links directly to the university-hosted transcription.
In the essay, Dijkstra argues that moving complexity into a machine does not necessarily reduce the effort required of its user. Communication itself adds work, he writes, so a more elaborate interface can increase burdens on both sides. His preference is for tightly defined interfaces. Read the essay.
His argument distinguishes protection against mistakes from freedom from precision. Higher-level programming languages helped turn some errors into diagnostic messages, he observes, but did not remove the need for accurate instructions. Formal notation, in his account, is an aid to disciplined reasoning rather than merely an obstacle to access.
Read as a design question, the dispute concerns where difficulty resides: in expressing an instruction, determining its meaning or establishing that the resulting operation is correct. Those are different questions, even when an interface presents them as a single interaction. Making the first step feel simpler does not, by itself, settle the others.
The manuscript belongs to a much larger body of writing preserved by the University of Texas at Austin. Its archive identifies Dijkstra’s contributions across algorithms, programming languages, operating systems and formal verification, and notes his receipt of the ACM Turing Award. That background places the essay within a sustained engagement with program design. Archive overview.
The collection also explains the essay’s format and route to readers. For more than four decades, Dijkstra circulated consecutively numbered manuscripts containing technical notes, trip reports and commentary to colleagues in academia and industry. Photocopying extended their circulation, while the university’s online collection subsequently made more than a thousand manuscripts available.
The archive lists this essay as EWD 667, alongside writings on programming-language designs, correctness and other computing questions. It provides both a scanned manuscript and a searchable transcription. That distinction is useful for readers checking the original document rather than relying on a discussion headline or a condensed account. Manuscript index.
The renewed circulation should not be mistaken for a new experiment or a contemporary product assessment. The historical argument offers a question against which interfaces can be examined, not fresh evidence about any particular implementation. For readers following the discussion, the next step is to separate the convenience of giving instructions from the evidence that those instructions produce the intended result.
Sources
Primary source: Hacker News. Newzly rewrites and structures source reporting for clarity; verify critical details at the original.