created 2025-04-04, & modified, =this.modified

tags:y2025csai

rel: Words as Code

Thought

Find this essay from Dijkstra brilliant and far more eloquent about the thought I had in the referenced note.

Machine code, with its absence of almost any form of redundancy, was soon identified as a needlessly risky interface between man and machine. Partly in response to this recognition so-called “high-level programming languages” were developed, and, as time went by, we learned to a certain extent how to enhance the protection against silly mistakes.

Mistakes produced error messages instead of resulting in an erroneous answer.

Some equate the ease of programming with the ease of making mistakes.

In order to make machines significantly easier to use, it has been proposed (to try) to design machines that we could instruct in our native tongues. this would, admittedly, make the machines much more complicated, but, it was argued, by letting the machine carry a larger share of the burden, life would become easier for us. It sounds sensible provided you blame the obligation to use a formal symbolism as the source of your difficulties. But is the argument valid? I doubt.

The choice of an interface is not just a division of (a fixed amount of) labor, because the work involved in co-operating and communicating across the interface to be added.

The idea of a “narrow interface”

Greek math got stuck because it remained a verbal, pictorial activity.

The virtue of formal texts is that their manipulations, in order to be legitimate, need to satisfy only a few simple rules; they are, when you come to think of it, an amazingly effective tool for ruling out all sorts of nonsense that, when we use our native tongues, are almost impossible to avoid.

It may be illuminating to try to imagine what would have happened if, right from the start our native tongue would have been the only vehicle for the input into and the output from our information processing equipment. My considered guess is that history would, in a sense, have repeated itself, and that computer science would consist mainly of the indeed black art how to bootstrap from there to a sufficiently well-defined formal system. We would need all the intellect in the world to get the interface narrow enough to be usable, and, in view of the history of mankind, it may not be overly pessimistic to guess that to do the job well enough would require again a few thousand years.

He concludes with a consolation, that this native language machine would be as difficult to make as it would be to use.