Creating a mechanical calculator is a difficult enough feat, but building a mechanical computer that can process data and make decisions based on the results from previous calculations and operations is a much, much more sophisticated problem …
Jacquard’s Punched Cards
In the early 1800s, a French silk weaver called Joseph-Marie Jacquard invented a way of automatically controlling the warp and weft threads on a silk loom by recording patterns of holes in a string of cards. In the years to come, variations on Jacquard's punched cards would find a variety of uses, including representing the music to be played by automated pianos and the storing of programs for computers.
Charles Babbage and His Engines
The first device that might be considered to be a computer in the modern sense of the word was conceived by the eccentric British mathematician and inventor Charles Babbage (1791-1871).
In Babbage's time, mathematical tables, such as logarithmic and trigonometric functions, were generated by teams of mathematicians working day and night on primitive calculators. Due to the fact that these people performed computations, they were referred to as “computers.” Over the course of time, the term computer became associated with machines that could perform the computations on their own (in fact the term computer was used as a job description – rather than referring to the machines themselves – well into the 1940s).
Babbage hated the tedium associated with performing calculations by hand, and in 1812 he said “I wish to God these calculations had been performed by steam.” In 1822, Babbage proposed building a machine called the Difference Engine that could calculate these tables automatically.
The Difference Engine was only partially completed when Babbage conceived the idea of another, more sophisticated machine called an Analytical Engine. (Some texts refer to this machine as an "Analytical Steam Engine," because Babbage planned that it would be powered by steam). The Analytical Engine was intended to use loops of Jacquard's punched cards to control an automatic calculator, which could make decisions based on the results of previous computations. This machine was also intended to employ several features subsequently used in modern computers, including sequential control, branching, and looping.
Working with Babbage was Augusta Ada Lovelace (1815-1852), the daughter of the English poet Lord Byron. Ada, who was a splendid mathematician and one of the few people who fully understood Babbage’s vision, created a program for the Analytical Engine. Had the machine ever actually worked, this program would have been able to compute a mathematical sequence known as Bernoulli numbers.
Based on this work, Ada is now credited as being the first computer programmer and, in 1979, a modern programming language was named ADA in her honor. (In their spare time Babbage and Ada also attempted to create a system for predicting the winners of horse races, but it is said that they lost a lot of money!)
Babbage worked on his Analytical Engine from around 1830 until he died, but sadly it was never completed. It is often said that Babbage was a hundred years ahead of his time and that the technology of the day was inadequate for the task. Refuting this is the fact that, in 1834, two Swedish engineers called Georg and Edward Scheutz built a small Difference Engine based on Babbage’s description. In his book, Engines of the Mind, Joel Shurkin stated that:
“One of Babbage’s most serious flaws was his inability to stop tinkering. No sooner would he send a drawing to the machine shop than he would find a better way to perform the task and would order work stopped until he had finished pursuing the new line. By and large this flaw kept Babbage from ever finishing anything.”
Further supporting this theory is the fact that, in 1876, only five years after Babbage’s death, an obscure inventor called George Barnard Grant exhibited a full-sized difference engine of his own devising at the Philadelphia Centennial Fair. Grant’s machine was 8 feet wide, 5 feet tall, and contained over 15,000 moving parts.
The Difference Engine Lives Again
Interestingly enough, more than one hundred and fifty years after its conception, one of Babbage's earlier Difference Engines was eventually constructed from original drawings by a team at London's Science Museum.
The final machine, which was constructed from cast iron, bronze, and steel, consisted of 4,000 components, weighed three tons, and was 10 feet wide and 6½ feet tall. It performed its first sequence of calculations in the early 1990s and returned results to 31 digits of accuracy, which is far more accurate than the standard pocket calculator.
However, each calculation requires the user to turn a crank hundreds, sometimes thousands of times, so anyone employing it for anything more than the most rudimentary calculations is destined to become one of the fittest computer operators on the face of the planet!
Herman Hollerith and the Automatic Electrical Tabulating Machine
It is often said that necessity is the mother of invention, and this was certainly true in the case of the American census. Following the population trends established by previous surveys, it was estimated that the census of 1890 would be required to handle data from more than 62 million Americans. In addition to being prohibitively expensive, the existing system of making tally marks in small squares on rolls of paper and then adding the marks together by hand was extremely time-consuming. In fact, it was determined that, if the system remained unchanged, there was no chance of collating the data from the 1890 census into any useful form until well after the 1900 census had taken place, by which time the 1890 data would be of little value.
The solution to this problem was developed during the 1880s by an American inventor called Herman Hollerith (1860-1929). Hollerith’s idea was to use Jacquard’s punched cards to represent the census data, and to then read and collate this data using an automatic machine. While he was a lecturer at MIT, Hollerith developed a simple prototype which employed cards he punched using a tram conductor’s ticket punch, where each card was intended to contain the data associated with a particular individual. From this prototype, he evolved a mechanism that could read the presence or absence of holes in the cards by using spring-mounted nails that passed through the holes to make electrical connections.
Many references state that Hollerith originally made his punched cards the same size as dollar bills of that era, because he realized that it would be convenient and economical to buy existing office furniture such as desks and cabinets that already contained receptacles to accommodate stacks of bills. However, other sources are of the opinion that this is simply a popular fiction.
Hollerith’s final system included an automatic electrical tabulating machine with a large number of clock-like counters that accumulated the results. By means of switches, operators could instruct the machine to examine each card for certain characteristics, such as profession, marital status, number of children, and so on. When a card that met the specified criteria was detected, an electrically controlled sorting mechanism could gather those cards into a separate container. Thus, for the first time, it was possible to extract information such as the number of engineers living in a particular state who owned their own house and were married with two children. Although this may not tickle your fancy, having this capability was sufficient to drive the statisticians of the time into a frenzy of excitement and data collation.
In addition to solving the census problem, Hollerith’s machines proved themselves to be extremely useful for a wide variety of statistical applications, and some of the techniques they used were to be significant in the development of the digital computer. In February 1924, Hollerith’s company changed its name to International Business Machines, or IBM.
Konrad Zuse and the Z1
In the aftermath of World War II, it was discovered that a full-fledged mechanical computer called the Z1 had been built in Germany before the start of the war.
The Z1's architect was a German engineer called Konrad Zuse (1910-1995) – an amazing man who was years ahead of his time. To fully appreciate Zuse’s achievements, it is necessary to understand that his background was in construction and civil engineering (not electronics). Zuse knew nothing of Charles Babbage’s proposals for mechanical computers in the 1800s, he was totally unfamiliar with George Boole’s work on Boolean Algebra, and he was also unaware of any computer-related developments in Germany or in other countries until a very late stage. Thus, Zuse independently conceived and implemented almost every principle of modern digital computers working in isolation.
While a young man, Zuse fluctuated between wanting to become an artist or an engineer. He eventually decided to study civil engineering and was awarded his diploma in 1935, at which time he knew nothing of electrical engineering. As early as 1934, prompted by his hated for performing boring calculations (the lot of the civil engineer in those days), Zuse started to think about creating a machine to perform the calculations for him. By 1936, he had completed the design for his first computer, the Z1. (This machine was originally called the V1, but Zuse later changed the name to Z1 in order to avoid any connection with the V1 rocket.)
Zuse constructed the Z1 between 1936 and 1938 in his parents' living room in Berlin). Containing approximately 30,000 components, this purely mechanical computer was incredibly sophisticated. At that time, mechanical calculators were based on the decimal number system (because that’s the way people thought). Similarly, when people first started building computers in America (see the discussions on the Mark 1, ENIAC, and so on elsewhere on this site), they initially decided to make them work in decimal, which we now know to be horrendously inefficient. By comparison, although the Z1 allowed numbers to be input in decimal and displayed its results in decimal, it performed all of its internal calculations in binary (this was to become the standard for all digital computers years later).
Furthermore, while everyone else was building computers that worked with integer or fixed-point numbers, the Z1 used a binary floating-point system based on a semi-logarithmic representation. This made it possible to work with very small and very large numbers, thereby making the Z1 suitable for a wide variety of engineering and scientific applications.
The Z1 was freely programmable in that it could read an arbitrary sequence of instructions from a punch tape. It featured a control unit that directed operations throughout the machine, a binary floating-point arithmetic unit with sophisticated exception handling, and a 64-word mechanical memory, where each 22-bit word could store arbitrary data and be addressed by both the punch tape and the main control unit.
The only electromechanical element in the Z1 was a motor, which provided the 1 Hz system clock (there was also a hand crank that could be used to drive the clock manually). The end result was the first freely programmable, binary, floating-point, general-purpose mechanical computer in the world!
It cannot be over-emphasized that this was an absolutely staggering achievement for one man, which makes it all the more disappointing that no one outside of Germany heard anything about it until a long time after the war. Sad to relate, the original Z1 and all of its plans were destroyed during the war, but a working model comprising approximately 30,000 parts was recreated between 1987 and 1989 as shown in the photo above (the hand crank in the foreground
could be used to drive the clock manually rather than using the motor).
The material presented here was abstracted and condensed from
The History of Calculators, Computers, and Other Stuff
document provided on the CD-ROM accompanying
our book How Computers Do Math