27.8.13

The Six Turing Primitives

Computer memory, unengaged, sits motionless, gathering dust like an unused library. Developing means by which to manipulate the contents of computer memory is, in essence, the job of the computer programmer and electronic engineer. 
Alan Turing (1912 - 1954), luminary of computer science, reduced the functions of manipulating computer memory into six primitive actions. Using only these tools, an unlimited variety of more complex functions may be built, from addition and subtraction, to guessing what kind of movies you might like to stream tonight. Any computational device capable of these six functions can perform the work of any other similar device, no matter how complicated — however, computation run times may vary. Indeed, a Timex Sinclair, programmed to do so, can render the same computations as the XBox. This is because, at the root, they are both doing these same six things:
Right:  move the machine head to the right

Left:  move the machine head to the left
Print:  place a symbol into the current cell
Scan:  identify any symbols in the current cell
Erase:  erase any symbols in the current cell
Halt: do nothing