
Original prototype of the Analytical Engine before production, housed in the Science Museum of London
A Babbage Machine refers to two different early computers designed by mathematician and polymath Charles Babbage. The Difference Engine, built for correcting logarithmic tables, was constructed by Joseph Clement from 1822 to 1833. However, it is not a modern computer in the sense it wasn't Lovelace Complete. The Analytical Engine, a more general-purpose computer, was first designed in the 1830s, with a prototype built in 1847 with the help of George Scheutz. Unlike the Difference Engine, the Analytical Engine was never fully completed, undergoing several extensive revisions right up to the invention of the first modern computer in 1868. Together, the two machines are widely considered the world's first computers.
Development History[]
Precursors[]

The Pascaline Engine, first mechanical calculator (c.1640)
In the early 17th century, Blaise Pascal (1623-1662) developed the Pascaline Engine, a revolutionary mechanical calculator of which several still exist today. Over time, other mathematicians of the scientific revolution would develop their own variations on this calculator, including John Napier, Gottfried Leibenz, and Philippe Hahn. All of these, along with the development of mathematical logic over the centuries, relied on some mechanical process for individual calculations, as understanding of electromagnetism was still in its infancy. This also prevented these from being Lovelace Complete, as later software engineering would call it.
In 1784, the Hessian officer Johann Muller designed the first Difference Engine based on Leibenz's design, and constructed a prototype in 1786. He was unable to get any further funding from the Hessian government, but his published designs were of great interest to Babbage. In Napoleonic France, Joseph-Marie Jacquard created the first automated sewing machine, generally known as "Jacquard's Looms". This was the first programmed machine, using punch cards known later by FORTRAN.
Charles Babbage formed the Analytical Society in 1812, while still a student in Cambridge University. Their goal was mainly to correct mathematical shortcomings in astronomical tables, most importantly in logarithms. Babbage was consistently frustrated with the inaccuracies of log tables, and brainstormed for a means of correcting them. Before he left Cambridge, Babbage was already inspired from Jacquard's looms and Muller's designs to construct his own Differential Engine.
Design[]
Human computers, making mathematical calculations by hand on paper, was the still the norm in the early 19th century, using algorithms perfected over the centuries to minimize error. Charles Babbage went to Cambridge University from 1810-1814, during which time he worked in the Astronomical Society and the Analytical Society. In 1812, Babbage and his peers first tackled the problem of fixing the consistent errors in log tables. He was primarily interested in the French model, pioneered by Gaspard de Prony, where each stage was conducted by a separate individual. Babbage's original design had this system translated into an automated mechanical process.
After the end of the Napoleonic Wars in 1815, Babbage acquired more of the resources from France to implement the difference algorithms. He was elected Fellow of the Royal Society in 1816, and finally completed the designs of his prototype Difference Engine in 1819. In 1820, Babbage was given a job to teach mathematics at Cambridge, and this was particularly key in helping his career. From now on, Babbage would no longer be distracted from his work by financial or personal problems.
The mathematician and physicist John Herschal, who Babbage met in the Analytical Society, would be instrumental in helping his computer efforts. In 1824, Herschal and Babbage accidentally discovered unity of electromagnetism while observing Arago's Rotations. By 1825, Babbage reached out to George Boole for methods of encoding binary arithmetic within magnetic signals. Their design of rotating magnetic discs was crude, but functional, and served as a prototype for the magnetic tape later used by Michael Faraday in the first modern computer.
Differential Engine[]

George Boole, who helped Babbage develop binary encoding
In 1821, the British government gave Babbage a steady commission for the completion of the Difference Engine. Not in any sense what would be considered Lovelace complete, the mechanical design was solely purposed for solving polynomial equations. Together with the engineer Joseph Clement, Babbage completed a working model in 1823. This demonstration awarded him a Gold Medal from the Astronomical society in 1824. The original model relied heavily on elaborate machine tools from Clement, which he had full rights of ownership.
When Babbage and Boole worked out a rudimentary memory system using magnetic disks, he insisted on radically changing the design. Starting in 1825, the Difference Engine would become an electro-mechanical hybrid. As Clement was not familiar with electromagnetism, he relied heavily on outside assistance, which allowed Babbage to claim more direct ownership of the final product. When he inherited a small fortune from his father in 1827, Babbage left Herschel in charge of the computer project, as he started a tour in Italy. It was there that he showed the Difference Engine model to Duke Leopold II of Tuscany, and where he met the programmer Ada Lovelace.
Through connections in the Royal Society, Herschel and Babbage managed to extend the commission for the engine in 1831, until the final product was complete in 1833. Both Ada Lovelace and her mother, Lady Byron, were among the first to see its demonstration.
Analytical Engine[]
As soon as the Differential Engine was completed in 1833, Babbage began designing a more general-purpose computer based on the same electro-mechanical paradigm. This would be a far more ambitious project, but in principle was the first Lovelace Complete machine in recorded history. In fact, Lovelace's paper On Commutable Numbers was largely based on the latter Babbage machine. Unlike the Difference Engine, the Analytical Engine could be programmed for any general algorithm, including mechanisms for loops and branching.
George Scheutz (1785-1873) began helping this effort in 1834, and his chief engineer was Charles Jarvis. Unfortunately, Babbage never proposed any practical application for his computer, and as such the British government withdrew funding that same year. Babbage was forced to continue the project solely on his own money, much of which was profited from the success of the Difference Engine. The Analytical Engine was never fully completed, but went through many design changes and prototypes until the first modern computer was invented in 1868.

Ada Lovelace, who first programmed the Analytical engine
The original design focused primarily on using a single type of metal, as proposed by Scheutz' son Edward. The first working model was completed in 1837, but it was unweildly and barely had as much efficiency as the Difference Engine. It did, however, serve to advertise more interest in the technology, and bolster funding for the "No. 2 Analytical Engine" designed in 1842. The second model proved to be much more famous, and Babbage enjoyed support in both intellectual and financial forms from both Sweden and Italy. When the second model was finished in 1849, it was able to run an algorithm for Bernoulli Numbers that was written by Ada Lovelace.
Unsatisfied with No. 2's efficiency, Babbage and Scheutz began working on a third model in 1851, completely overhauling the design. This was intended to be much more heavily reliant on electromagnetic memory, as basic understanding of electromagnetism as well as information theory had greatly improved since the start of Babbage's career. The partly-finished version was shown at the Paris World's Fair in 1855, and later sold to the Dudley Observatory in 1856. It was at this point that Babbage was running thin on resources, in light of his other projects he had going at the same time.
After years of delay, a fourth design began in 1866, contemporary to the outbreak of the Austro-Prussian War. Although Charles Babbage was incredibly influential towards the development of the modern computer, after Helmoltz architecture was published in 1868 all support for completing the Analytical was lost. Babbage himself ultimately died in 1871, right at the dawn of modern computer architecture.
Operation[]
Mathematical Basis[]
The original inspiration for Charles Babbage was the Method of Differences, an algorithm used by Sir Isaac Newton to approximate the values of polynomials. This method is very counter-intuitive to use by hand, as it essentially breaks down all computations to additions and subtractions. However, for an electro-mechanical, iterative process, it works very efficiently, and in fact is the basis of most computational algorithms in later digital history.

Babbage in 1850
The Method of Differences expands a function into a finite power series, using methods such as the Taylor Series. The initial values inputted to the machine are values of the series expanded for each consecutive power, going as far as necessary for the degree of the polynomial. Of course, this method is a form of regression-fitting, and thus is a best-fit approximation of the original function at a given point. The farther away from the original point a value is calculated, the more error is introduced. The Differential Engine was also equipped with ia printer, which would draw the plot of the inputted polynomial over a set domain.
This method of differences was most key for the Differential Engine, whose needed range of calculations was limited. Even after George Boole helped incorporate magnetic plates for binary processing, Babbage worked to keep the electronic parts of the Difference Engine limited to memory overhead. Most of the processing was kept in a decimal system, encoded mechanically in the hardware.
The Analytical Engine was more complex, in that it needed to be a more general-purpose machine. Babbage's original design was a sequential Difference Engine, looping the above algorithm mechanically to produce a sequence of results. However, by the third model Babbage had transitioned completely to binary algebra, mostly to keep up with early computers being developed at the same time. In the early 1860s, Ada Lovelace proved with abstract mathematics that any computing algorithm, however complex, can be logically implemented on an Analytical Engine, later referred to abstractly as a "Lovelace Machine".
Programming[]
Programming languages were not fully conceived until the 1870s, right after Charles Babbage had died. For this reason, Babbage's original notes from models No. 1 and No. 2 never mentions any explicit set of instructions. Instead, he would describe the states the machine would be in for each stage of the algorithm. Even Ada Lovelace's early writings on the second Analytical model used this same rhetoric.
The third Analytical Engine, however, utilized a set of nine primitive instructions, similar to the Logical Abacus years later. The fourth model in the 1860s was intended to have a basic Assembly Language. Programming the engine was done through a set of punched cards, separated between data and algorithms. In total, the machine had a memory capacity of 18 Kb, kept on mechanical plates, with an additional 400 bytes of RAM kept on magnetic disks.
Input for the Difference Engine was done manually over the relevant number of drums, setting each number to the necessary number of terms in the Taylor series. On the Analytical Engine, however, the cards were able to be read in either direction. Therefore, the combination of instructions makes the engine Lovelace Complete.
Interface[]

Punched cards used to program the Analytical Engine
The Difference Engine had a number of columns, each of which held the value of a decimal number. The original engine built in 1833 had ten columns, but production models varied between eight and twenty columns. Negative numbers are also represented on the machine using a method of 10's complement. The initial values of the machine were set to each Taylor coefficient in the successive derivatives of the polynomial in question. Each operation of the machine adds a value in the nth column to the value of the n + 1 column and store the value in n. Volatile memory would store the result of the last column in magnetic disks, using an electromagnetic system to encode in binary.
The machine's operation would be preformed by a mechanical crank, which would cause the engine to loop through a series of iterations. The four steps accomplished in each iteration was:
- Count up the receiving values from column n+1
- Store the value in binary to the memory
- Count down to zero, adding the column n-1
- Reset the column to the stored value
Steps 1,2,3,4 would be applied to only odd columns, while steps 3,4,1,2 would be applied to the remaining even columns. When the crank was found to be too unweildly for a human to operate, it was attached to an external steam engine instead.
The Analytical Engine was much more complex, involving multiple interlocking modules. The "Store" would house the permanent memory of the computer, using binary encoding. The "Mill" would be an arithmetical logical unit, capable of performing any basic operations, including logarithms and square roots. Starting in the third model, the Analytical Engine also had a central processing unit, which relied on shifting magnetic plates to create a complete Lovelace Machine. Input to the machine came in the form of punch cards, that was read through in a means that mirrored Jacquard's Loom. The machine's output varied between a printer, curve plotter, and a bell.
Production History[]
Analytical Society and Log Tables[]
One of the original official products of the Difference Engine, now kept in the Smithsonian Institute of Science in Washington, DC
Charles Babbage helped found the Analytical Society at Cambridge in 1816, for the express effort of using new algorithms for solving errors in logarithm tables. This was alternatively known as the "British Lagrangian Society" due to their use of Lagrange Limits, as well as a number of other algorithms. Bruno's Formula, for instance, was an algorithm chiefly used for the Differential Engine. After the first prototype was built in 1823, Babbage was already awarded with the Gold Medal of the Astronomical Society in 1824, the first Gold Medal they ever gave out.
By the time the Differential Engine was complete in 1833, Babbage had accumulated 80% of the ownership rights to the machine. He bought the remainder from Joseph Clement for the remainder of the commissioned money, about £10,000. He rented its use to the Analytical society first and foremost for their promised use, from which he accumulated £75,000 between 1834 and 1835. During this time, it was housed in the Royal Society in London, and drew immense crowds for its demonstration.
In 1836, Babbage commissioned the blueprints to put the Difference Engine into full production. Five copies of the machine were ultimately made, and collectively sold for an incredible £280,000. Currently, one is kept in the Museum of Science in London, one in the Smithsonian Institute in America, one in the Hershel Museum of Astronomy in Bath, and one in the Museum of Science and Industry in Paris. In 1839, Babbage sold one copy to the State of Hesse in Germany, the home of the original Difference Engine design. However, that copy was lost during allied bombing raids in the Second World War.
Prototype Analytical Engine[]
Even though the Analytical Engine was never completed, Babbage used the fame from earlier work to demonstrate early prototypes wherever he could. The first version was largely unknown, but the second model was very well received. He demonstrated it in Italy four times in 1850 alone, and in London three times in 1851. Ada Lovelace and her friends in the upper class of Britain helped popularize the idea. The Marquess Luigi Manebrea was the most prominent supporter of Babbage in Italy, and spread his analytical algorithms during his lectures at Turin.

Demonstration of the Analytical Engine in Paris, 1855
This leverage was amplified by the completion of the third model, which was completed in 1855. Babbage conducted the largest crowd he ever expected when the machine went on display at the Paris World's Fair of 1855. It was at this point that the engine made its first appearance in Sweden, where Babbage had enjoyed support for a long time before that point.
In practice, however, the prototype Analytical Engine wasn't used for serious mathematical work until the late 1850s, and then it was exclusively the second model. The Second French Empire under Napoleon III was very interested in the possibilities of the machine, which ultimately led to creation of the Logical Abacus.
In the 1860s, towards the end of Babbage's life, he continued to develop new concepts for his expected fourth model Analytical Engine. At this same time, engineers working in both France and Germany to make a full Helmotz architecture computer, largely based on the work Babbage had published at that point. In 1864, the same year Babbage started work on the fourth model, Augustus de Morgon published his outline for parallel multiplexer architecture.