1 min read

Will we ever program using only natural language?

Many people think that LLMs and AI will soon let us build software just by "talking" to computers in plain English. However, Grady Booch recently reminded us of a famous essay by Edsger W. Dijkstra (EWD 667) that explains why this is unlikely to happen.

Here is why "natural language programming" remains a dream:

Precision vs. Guessing

Programming is about math and logic. It needs to be 100% exact. Human language is naturally "vague." When we use words, we often make mistakes that we don't even notice.

The Power of Code

Formal code is a tool that helps us think clearly. Dijkstra argued that using symbols is a "privilege" because it stops us from writing nonsense.

History's Lesson

In the past, science and math only moved forward when people stopped using words and started using formulas. AI can help us write code faster, but we still need formal logic to ensure the software is correct. Using only "plain talk" to program would lead to a mess of errors that are very hard to find.

As Dijkstra said: natural language is easy to use for making statements that sound good but make no sense.