NEW IDEAS IN PROGRAMMING

Programming—the way to give instructions to machines—is also being studied in the laboratories. Several new ideas of importance have developed as a result.

One idea is that the machine should be able to store its instructions or program or routine in its memory in just the same physical ways as it stores numbers. There is basically no reason why numbers only should be stored in some registers, and instructions only stored in other registers.

Another idea is that the machine should have in its permanent memory any subroutine it may need. For example, a subroutine should always be available in the machine for finding square root. At any time when a square root was needed, we would only have to call on the machine for the subroutine of square root. The machine would then consult the right part of its memory and carry out the subroutine for square root.

A third idea, and one of the most interesting, is that the machine should be able to compute its own instructions. For example, consider a program for finding the product of two matrices ([see Supplement 2]), each of 100 terms in an array of 10 columns and 10 rows, resulting in a new matrix of 100 terms. The whole program can be made to consist of about 50 orders. Only one of them is “multiply,” and only one of them is “add”; the other orders consist of how to choose expressions to be multiplied or added, etc.

Such problems as these are often fascinating to mathematicians, who love to play with the intricate ideas needed.