Why Natural Language Programming Fails
Advocates for natural language programming argue that using native language instead of formal symbolism would simplify the work by shifting burden to machines. The author rejects this logic, noting that changing an interface doesn’t reduce total labor—the work required for communication across the boundary must be added on both sides. The historical preference for narrow interfaces suggests natural language would actually complicate programming rather than ease it.
History of mathematics provides the key counterargument. Greek mathematics stalled because it remained verbal and pictorial. Moslem algebra, despite an initial attempt at symbolism, regressed into rhetoric and declined. Modern mathematics and science only progressed once Western Europe adopted carefully designed formal systems from thinkers like Vieta, Descartes, Leibniz, and Boole. Formal systems succeed where natural language fails because they require only simple rules for legitimate manipulation, systematically eliminating the ambiguity inherent to native tongues.
The author argues formal symbols should be valued as a privilege enabling modern practitioners to achieve what historically required genius. A documented decline in linguistic mastery across the Western world—termed “The New Illiteracy”—further undermines the case for natural language programming. The author ultimately suspects that machines programmable in native language would prove as difficult to build and use as they would be to operate.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.