Foundations of the case for natural-language programming

There are more and deeper issues involved in the notational question in computer programming than are covered in the usual easy antitheses between natural sloppiness and formal precision. This article argues that it is far from clear that a formalism patterned on mathematical notation is the answer to any burning problem in practical programming. In arguing the case for natural language, it is often as necessary to take issue with those favoring the cause as with those opposed to it, for the natural-language ``party,'' also, has been guilty of perpetuating invalid ideas. Thus, this article attempts to lay the groundwork for more useful exchanges between the formalist and natural-language schools.