Sir William Thomson 's third tide-predicting machine design, —81 In the first half of the 20th century, analog computers were considered by many to be the future of computing. These devices used the continuously changeable aspects of physical phenomena such as electrical , mechanical , or hydraulic quantities to model the problem being solved, in contrast to digital computers that represented varying quantities symbolically, as their numerical values change.
As an analog computer does not use discrete values, but rather continuous values, processes cannot be reliably repeated with exact equivalence, as they can with Turing machines. It used a system of pulleys and wires to automatically calculate predicted tide levels for a set period at a particular location and was of great utility to navigation in shallow waters.
His device was the foundation for further developments in analog computing. He explored the possible construction of such calculators, but was stymied by the limited output torque of the ball-and-disk integrators. The lever just in front of the bomb aimer's fingertips sets the altitude, the wheels near his knuckles set the wind and airspeed.
An important advance in analog computing was the development of the first fire-control systems for long range ship gunlaying. When gunnery ranges increased dramatically in the late 19th century it was no longer a simple matter of calculating the proper aim point, given the flight times of the shells. Various spotters on board the ship would relay distance measures and observations to a central plotting station. There the fire direction teams fed in the location, speed and direction of the ship and its target, as well as various adjustments for Coriolis effect , weather effects on the air, and other adjustments; the computer would then output a firing solution, which would be fed to the turrets for laying.
In , British engineer Arthur Pollen developed the first electrically powered mechanical analogue computer called at the time the Argo Clock. Mechanical devices were also used to aid the accuracy of aerial bombing. Drift Sight was the first such aid, developed by Harry Wimperis in for the Royal Naval Air Service ; it measured the wind speed from the air, and used that measurement to calculate the wind's effects on the trajectory of the bombs.
The art of mechanical analog computing reached its zenith with the differential analyzer ,  built by H. A dozen of these devices were built before their obsolescence became obvious; the most powerful was constructed at the University of Pennsylvania 's Moore School of Electrical Engineering , where the ENIAC was built. Advent of the digital computer[ edit ] The principle of the modern computer was first described by computer scientist Alan Turing , who set out the idea in his seminal paper,  On Computable Numbers.
He proved that some such machine would be capable of performing any conceivable mathematical computation if it were representable as an algorithm. He went on to prove that there was no solution to the Entscheidungsproblem by first showing that the halting problem for Turing machines is undecidable: He also introduced the notion of a 'Universal Machine' now known as a Universal Turing machine , with the idea that such a machine could perform the tasks of any other machine, or in other words, it is provably capable of computing anything that is computable by executing a program stored on tape, allowing the machine to be programmable.
Von Neumann acknowledged that the central concept of the modern computer was due to this paper. Except for the limitations imposed by their finite memory stores, modern computers are said to be Turing-complete , which is to say, they have algorithm execution capability equivalent to a universal Turing machine.
Electromechanical computers[ edit ] The era of modern computing began with a flurry of development before and during World War II. Most digital computers built in this period were electromechanical — electric switches drove mechanical relays to perform the calculation. These devices had a low operating speed and were eventually superseded by much faster all-electric computers, originally using vacuum tubes.
The Z2 was one of the earliest examples of an electromechanical relay computer , and was created by German engineer Konrad Zuse in It was an improvement on his earlier Z1 ; although it used the same mechanical memory , it replaced the arithmetic and control logic with electrical relay circuits.
It was a substantial development from a device that had been designed in by Polish Cipher Bureau cryptologist Marian Rejewski , and known as the " cryptologic bomb " Polish: In , Zuse followed his earlier machine up with the Z3 ,  the world's first working electromechanical programmable , fully automatic digital computer.
It was quite similar to modern machines in some respects, pioneering numerous advances such as floating point numbers. Replacement of the hard-to-implement decimal system used in Charles Babbage 's earlier design by the simpler binary system meant that Zuse's machines were easier to build and potentially more reliable, given the technologies available at that time. In two patent applications, Zuse also anticipated that machine instructions could be stored in the same storage used for data—the key insight of what became known as the von Neumann architecture , first implemented in Britain in the Manchester Baby of Apparently his work remained largely unknown to engineers in the UK and US until much later, although at least IBM was aware of it as it financed his post-war startup company in in return for an option on Zuse's patents.
In , the Harvard Mark I was constructed at IBM's Endicott laboratories;  it was a similar general purpose electro-mechanical computer to the Z3, but was not quite Turing-complete. Digital computation[ edit ] The term digital is suggested by George Stibitz and refers to all applications based on signals with two states — low 0 and high 1. That is why the decimal and binary computing are two ways to implement digital computing. A mathematical basis of digital computing is Boolean algebra , developed by the British mathematician George Boole in his work The Laws of Thought , published in This thesis essentially founded practical digital circuit design.
Electronic data processing[ edit ] Atanasoff—Berry Computer replica at first floor of Durham Center, Iowa State University Purely electronic circuit elements soon replaced their mechanical and electromechanical equivalents, at the same time that digital calculation replaced analog.
Machines such as the first IBM electronic accounting machine US 2,, , the NCR electronic calculating machine US 2,, , the Z3 , the Atanasoff—Berry Computer , the Colossus computers , and the ENIAC were built by hand, using circuits containing relays or valves vacuum tubes , and often used punched cards or punched paper tape for input and as the main non-volatile storage medium. While working at the research station in Dollis Hill in the s, he began to explore the possible use of electronics for the telephone exchange.
Experimental equipment that he built in went into operation 5 years later, converting a portion of the telephone exchange network into an electronic data processing system, using thousands of vacuum tubes. The machine's special-purpose nature and lack of changeable, stored program distinguish it from modern computers. Instead of solving system of equations with 29 unknowns, the computer could solve system of equations with no more than three to five unknowns.
The ABC computer was not completed and was abandoned. It remained unknown, as a military secret, well into the s During World War II, the British at Bletchley Park 40 miles north of London achieved a number of successes at breaking encrypted German military communications. The German encryption machine, Enigma , was first attacked with the help of the electro-mechanical bombes.
Most possibilities led to a contradiction, and the few remaining could be tested by hand. The Germans also developed a series of teleprinter encryption systems, quite different from Enigma.
The first intercepts of Lorenz messages began in As part of an attack on Tunny, Max Newman and his colleagues helped specify the Colossus.
Colossus was the world's first electronic digital programmable computer. It had paper-tape input and was capable of being configured to perform a variety of boolean logical operations on its data, but it was not Turing-complete. Colossus Mark I contained thermionic valves tubes , but Mark II with valves, was both 5 times faster and simpler to operate than Mark 1, greatly speeding the decoding process.
Mark 2 was designed while Mark 1 was being constructed. Allen Coombs took over leadership of the Colossus Mark 2 project when Tommy Flowers moved on to other projects. Sometimes, two or more Colossus computers tried different possibilities simultaneously in what now is called parallel computing , speeding the decoding process by perhaps as much as double the rate of comparison.
Colossus included the first ever use of shift registers and systolic arrays , enabling five simultaneous tests, each involving up to Boolean calculations , on each of the five channels on the punched tape although in normal operation only one or two channels were examined in any run.
Initially Colossus was only used to determine the initial wheel positions used for a particular message termed wheel setting. The Mark 2 included mechanisms intended to help determine pin patterns wheel breaking. Both models were programmable using switches and plug panels in a way their predecessors had not been. Details of their existence, design, and use were kept secret well into the s.
Winston Churchill personally issued an order for their destruction into pieces no larger than a man's hand, to keep secret that the British were capable of cracking Lorenz SZ cyphers from German rotor stream cipher machines during the oncoming Cold War. Two of the machines were transferred to the newly formed GCHQ and the others were destroyed. As a result, the machines were not included in many histories of computing.
It was unambiguously a Turing-complete device and could compute any problem that would fit into its memory. Like the Colossus, a "program" on the ENIAC was defined by the states of its patch cables and switches, a far cry from the stored program electronic machines that came later.
Once a program was written, it had to be mechanically set into the machine with manual resetting of plugs and switches. It combined the high speed of electronics with the ability to be programmed for many complex problems. It could add or subtract times a second, a thousand times faster than any other machine. It also had modules to multiply, divide, and square root. High-speed memory was limited to 20 words about 80 bytes.
Built under the direction of John Mauchly and J. The machine was huge, weighing 30 tons, using kilowatts of electric power and contained over 18, vacuum tubes, 1, relays, and hundreds of thousands of resistors, capacitors, and inductors. The machine was in almost constant use for the next ten years.