logoalt Hacker News

mrobtoday at 11:00 AM1 replyview on HN

In this context, "general purpose" means "Turing complete" in the informal sense of handwaving away the requirement for infinite storage space.


Replies

adrian_btoday at 11:13 AM

What you say changes nothing.

The earlier relay computers were Turing complete.

For ENIAC it also does not make sense to claim that it was Turing complete. Such a claim can be made for a computer controlled by a program memory, where you have a defined instruction set, and the instruction set may be complete or not. If you may rewire arbitrarily the execution units, any computer is Turing complete.

The earlier ABC electronic computer was built for a special purpose, the solution of systems of linear algebraic equations, like ENIAC was built only for a special purpose, the computation of artillery tables.

By rewiring the ABC electronic computer you could have also computed anything, so you can say that it was Turing complete, if rewiring is allowed.

The only difference is that rewiring was simpler in ENIAC, because it had been planned to be easy, so there were special panels where you could alter the connections.

Neither ABC nor ENIAC had enough memory to be truly general-purpose, and by the end of the war it was recognized that this was the main limitation for extending the domain of applications, so the ENIAC team proposed ultrasonic delay lines as the solution for a big memory (inspired by the use of delay lines as an analog memory in radars), while von Neumann proposed the use of a cathode ray tube of the kind used in video cameras (iconoscope; this was implemented first in the Manchester computers).

Because ENIAC was not really designed as general-purpose, its designers originally did not think about high-capacity memories. On the other hand, John Vincent Atanasoff, the main designer of the ABC computer, has written a very insightful document about the requirements for memories in digital computers, years before ENIAC, where he analyzed all the known possibilities and where he invented the concept of DRAM, but implemented with discrete capacitors. Later, the proposal of von Neumann was also to use a DRAM, but to use a cheaper and more compact iconoscope CRT, instead of discrete capacitors.

While the ABC computer was not general-purpose as built, the document written by Atanasoff in 1940, “Computing Machine for the Solution of Large Systems of Linear Algebraic Equations”, demonstrated a much better understanding of the concept of a general-purpose electronic digital computer than the designers of ENIAC would demonstrate before the end of 1944 / beginning of 1945, when they realized that a bigger memory is needed to make a computer suitable for any other applications, i.e. for really making it "general purpose".