On the logical impossibility of delegating programming tasks

Julie Porter · ITNOW · 1981

The purpose of language is communication! An effective language invariably enables direct expression of the thoughts and ideas to be communicated and the evolution of natural language has ensured that this is possible. Examples illustrating the need for such efficiency in language spring readily to mind. The linguist does not accomplish mastery of a foreign language until he has acquired the ability to think in it. Some schools of philosophy deny that any thought can be meaningful which is not expressible in language. The progress of mathematics has required the development of terse symbolisms with which the mathematician feels at home in carrying out his work. Even the arts, which provide media for conveying moods and emotions with an impact and intensity that the artist feels natural language cannot match, recognise in so doing the importance, of enabling direct expression and communication. A similar argument should it seems apply to programming language. So long as the essential thinking of a programmer is embodied not in the program itself, but in a flowchart, structure diagram, narrative program specification or some other document, programming language will not adequately be fulfilling its purpose. Why then is programming language not used in the way which this suggests? Why has the ideal of the high level (ie problem orientated) language not been realised as it was originally conceived?

Read the paper · More papers on PaperTik