by BERNARD A HODSON
The history of computing has been involved with two approaches, one developed by von Neumann (an American Scientist), the other by Turing (a British Scientist). Turing propounded his ideas in 1936.
Many current practitioners have said that the machine that Turing proposed, (in which a single machine can do all needed applications), can never be built. This area of the web site demonstrates that the Turing Universal machine can be built , and in fact it has been built in software, which could easily be placed on a chip, making it in to a Universal Turing Machine. Its implications for the industry are far reaching.
The philosophy of von Neumann indicated that a computing machine, as interpreted by his contemporaries, should modify a set of instructions located within the machine, and that this was the only way in which a computing engine could be built. Although this particular concept has now been modified it nevertheless dominated the early years of the industry. This meant that all programming had to be internal, leading to the awful software mess we have today, requiring ever more increasing resources before even one application is developed and run. As an example millionsof computers store the many million bytes of that resource wasting Microsoft Office, of which only a few percent will ever be needed by most users, the same goes for Windows and various other office suites and operating systems. What a terrible and obscene use of resources. More resources are wasted each year by these monstrous excuses for software than the total gross national product of a dozen developing countries combined.
The von Neumann approach was more attuned to numerical calculations, in response to the development of the atomic bomb. The Turing approach, on the other hand, indicated that it should be possible to develop a machine which can do any type of information processing problem assigned to it, not just numerical calculations.
In the Turing software approach only one computer program, in the von Neumann sense, is needed to not only develop but also run any and all applications. With this approach no operating system is needed because the main function of an operating system, to be a traffic policeman for the huge resources and multiple languages currently used by the industry, is no longer required. Turing-like software obsoletes much of the infrastructure of the von Neumann related industry. It is my contention that von Neumann held back for several decades, by his approach, the development of the computer industry.
The Turing Universal software system has been built, using the concept of a 'virtual machine' along with a set of 'software genes', originally defined in machine code but which, at a later development, were structured as a set of numerics, virtually eliminating machine code in the von Neumann sense. The Turing Universal software machine has been proved to be not only feasible but also very practical.
Software genes operate in an analogous way to human genes. Just as a combination of human genes creates a new human being so combinations of software genes can produce any needed application. Remarkably the resource requirement for this software is very small, just a few score bytes of conventional code. This is the only code needed for whatever application is developed, The code runs the application along with any other applications that are needed, in an exact similitude of Turing's ideas. Contrast this with the scores of billions of computer code bytes needed with the von Neumann approach.
The concept is so radical to the industry that it has to be introduced carefully and marketed with expertise. Applications developed with this approach are so small (dozens of bytes rather than scores of millions) that the 'software genes' they use can be transmitted in a few seconds, requiring little space on a telephone or cable line, reducing the telecommunications bottleneck on the Internet, or whatever communication path is chosen, giving a unique capability for 'on demand' applications.
It is useful to examine the preamble to an article on the concept placed on the web by HPCWire, (A US based web publication) compiled by Norris Parker Smith.
In his introduction to an article on 'Turing versus von Neumann' he asks 'Is a Turing-style computer possible?. If so, would the von Neumann computing strategy become obsolete and, with it, many of the burdens that are now familiar, including complex, verbose operating systems and applications?'.
He also states at the beginning of the article, in reference to a paper of mine on the concept, which he published, 'The document that follows...could be a systematic hoax, a truly revolutionary idea, or something in between that might nevertheless stimulate thought about assumptions and practices that are now taken for granted. HPCWire's readers were urged to communicate their reactions...'.
A response on the CERN (Switzerland) web site agreed with Norris that we should examine carefully our previously held concepts on computing.
The sections that now follow are in reasonable chronological order of my biography along with how the Turing-like software concepts developed, but a correct chronological sequence is not followed. In some cases a section jumps ahead to augment a developed idea. Other cases jump back to fill in a detail.