The History of Computing, Part I: The Early Days
In the early days of fabric weaving, it took two to operate a loom - the weaver, who would manipulate the thread, and the draw boy, who would operate various mechanical parts in order to manifest the pattern. This, needless to say, was incredibly labour intensive, requiring close cooperation and synchronisation between the two operators. Weaving fabric in this way was slow and error prone.
Joseph Marie Jacquard, inspired by the work of Bastile Bouchon before him, made the first successful change to this in 1804. His pioneering work was a mechanism that fed cards through various spring rods, each of which controlled one of the mechanical parts formerly operated by the draw boy. These cards would trigger the springs by having holes cut out in them, to describe the pattern of the cloth, removing one operator and allowing the machine to perform much of the repetitive work. This was one of the first examples of machine automation, and one of the harbingers of the industrial revolution.
Such was the impact of the Jacquard loom, part of the history is written into popular culture today. As the Jacquard loom made it over to England, it deeply impacted the textile industry to the point where the industry protested its uptake, for fear of losing jobs. The movement, started in Nottingham, became known as the Luddites, and were famous for breaking the machines through various methods. This got so bad that Parliament eventually passed the Frame Breaking Act 1812, to render the breaking of these machines punishable by death. This is a pattern that plays out often in the world of technology, often signalling a paradigm shift in an industry.
What nobody realised at the time, however, was how significant an invention the punched card was. Punched cards would rule the roost in the world of computers for nearly a century and a half, and can still be found in use today in some very old organisations.
Daughter of a Poet, and the Father of the Computer
An alumnus of Trinity College, at the University of Cambridge, Charles Babbage was frustrated by the difficulty at producing trigonometric and logarithmic tables, a process that often took a very long time, and was incredibly error prone and repetitive. These three properties, in this combination, are something we’ve seen before, in the aforementioned loom. This is a recurrance we shall see a lot in this history.
The result was a machine, announced in 1822 to the Royal Astronomical Society, known as the Difference Engine. The machine could compute polynomials mechanically, working on a combination of gears and shafts, all rotating at various speeds in step with one another. While this isn’t the first example of mechanical computation, it is the first example of “generic” mechanical computation with any known complexity - previous attempts were either for specific purposes, such as astronomical calendars, or incredibly simple, such as an abacus or slide rule.
Due to limitations on the technology at the time, the Difference Engine could never be built. A scaled down model was built, costing more money than was intended for the full engine, which was later demonstrated to Lady Byron, former spouse to George Gordon Byron, 6th Baron Byron, an English poet. Soon thereafter, work was suspended for cost reasons.
Undeterred, Babbage then went on to start development on his second machine. The Analytical Engine took the idea of the Differential Engine a step further, and was a machine that looks far more like a modern comptuer, from an architectural standpoint.
One of the crucial developments was the idea of an instruction sequence - the machine could take two numbers and add them, then multiply by a separate number from somewhere else, then go back and do the whole sequence again if it wasn’t zero, for example. Therein was another key development - control flow. A key part of modern computing is “if this happens, do that”. The analytical engine was the first machine to ever incorporate something like this. Drawing inspiration from the Jacquard loom, Babbage also incorporated sequences of punched cards into the machine, for instructions, and another, for the data.
Ada Lovelace, the daughter of Lord and Lady Byron, became deeply interested in Babbage’s work, working closely with him as the Analytical Engine became more developed. Her most notable development was the construction of a sequence of instructions for generating Bernoulli numbers. This is widely considered to be the first computer program, making Lady Lovelace the first computer programmer.
Also visible at EsseX-Files