The foolishness of "natural language programming" (1978)(cs.utexas.edu)
377 points by xiaoyu2006 2 days ago | 267 comments
tl;dr: Dijkstra argues that programming in natural language is a misguided goal, because the perceived "burden" of formal symbolism is actually its chief virtue: it rules out nonsense and ambiguity that natural language invites. He points to the history of mathematics, which only advanced once it escaped verbal reasoning for formal notation, and suggests natural-language programming would simply force us to reinvent formal systems anyway. He closes by noting that such machines would likely be as hard to build as they would be to use.
HN Discussion:
  • ↑Dijkstra's essay has aged well; LLM agents still produce code in formal languages, validating his argument
  • ↑Natural language is inherently unstable, ambiguous, and culturally loaded, making it unfit for programming
  • ↓Formalism is just gatekeeping jargon; AI-driven natural language coding is a liberating step forward
  • ~Natural language works for communicating with intelligent entities who fill gaps, unlike purely mechanical systems
  • ↑AI-generated code only seems good because vague understanding masks its flaws