The 100-year leap

Charles Babbage's Analytical Engine was a century before its time. So why not build it now?

In December 1837, the British mathematician Charles Babbage published a paper describing a mechanical computer that is now known as the Analytical Engine. Anyone intimate with the details of electronic computers will instantly recognize the components of Babbage’s machine. Although Babbage was designing with brass and iron, his Engine has a central processing unit (which he called the mill) and a large amount of expandable memory (which he called the store). The operation of the Engine is controlled by program stored on punched cards, and punched cards can also be used to input data.

Punched cards created for Babbage's Analytical Engine. From Flickr user lorentey.
Punched cards created for Babbage’s Analytical Engine. From Flickr user lorentey.

Inside the mill, individual operations are controlled by the equivalent of a microprogram. The microprogram is stored on cylinders covered in studs (much like in a music box) that Babbage refers to as the barrels. Data is transferred from the store to the mill for processing and returned to the store for later use. In his plans Babbage described an Engine with 100 storage locations holding 40 decimal digits each (which is roughly equivalent to 1.7KB). He even anticipated the need for ever more memory, describing an Engine with 1,000 storage locations (17KB) and external storage (he would have used punched cards where we use disks).

For output, the Analytical Engine plans call for both a printer and a plotter. The entire Engine would likely have been powered by steam and would have been the size of a small steam locomotive. Its programming language — if it can be called that — included loops and conditionals. The only surprising thing about the architecture of the Analytical Engine is when it was invented.

It wasn’t until 100 years later that computers came into existence, with Babbage’s work lying mostly ignored. In the late 1930s and 1940s, starting with Alan Turing’s 1936 paper “On Computable Numbers, with an Application to the Entscheidungsproblem,” teams in the US and UK began to build workable computers by, essentially, rediscovering what Babbage had seen a century before. Babbage had anticipated the impact of his Engine when he wrote in his memoirs: “As soon as an Analytical Engine exists, it will necessarily guide the future course of science.”

During his lifetime Babbage only constructed parts of the Analytical Engine (which can be seen in the Science Museum in London). His son, H. P. Babbage, working from his father’s designs, built a demonstration version of the mill after his father’s death. The elder Babbage left behind extensive documentation and plans for the Engine, all of which are safely stored in London and have been examined by historians.

The mill of the Analytical Engine.  From Flickr user Gastev.
The mill of the Analytical Engine. From Flickr user Gastev.

Babbage came up with the idea of the Analytical Engine while working on a machine to automatically produce mathematical tables (such as tables of logarithms). Mathematical tables were extensively used at the time — and well into the 20th century — and they were calculated by hand by people referred to as “computers.” Babbage hoped to eliminate errors made by these computers by replacing them with a machine capable of performing the relevant calculations automatically.

The machines he invented are called the Difference Engines (because they use the mathematical technique of differences to perform their calculations). These machines were not completed during Babbage’s lifetime partly because of his difficult personality and partly because of the withdrawal of government support for the project. The conception and construction of Babbage’s Engines was an enormous undertaking in the 1800s. Despite repeated setbacks, Babbage continued essentially alone, working on plans and designs up until his death and spending his own fortune on the work. Twentieth-century computer pioneer Maurice Wilkes describes being “haunted by the thought of the loneliness of [Babbage’s] intellectual life” while working on the Analytical Engine.

The British government had initially supported Babbage and covered some of the costs of construction of the first Difference Engine. But as costs rose and years wore on, the government was advised that the machines would be of little use, were unlikely to pay for themselves, and the money expended would have been better invested and the dividends used to hire additional human “computers” to do the work.

Soldiering on alone with the conviction that his machines would be of great benefit to mankind by taking what had been mental effort and making it mechanical, Babbage wrote that “Another age must be the judge” of his inventions.

Simply put, we live in that age. In the late 1980s the Science Museum in London undertook a project to demonstrate that Babbage’s Engines could have been built during his lifetime. The museum constructed his Difference Engine No. 2 and the associated printer using historically accurate materials and to within historically accurate tolerances. In 1991, the working machine was unveiled, and it can still be seen on display in the museum (a copy of the machine is also on display at the Computer History Museum in Mountain View, CA).

Difference Engine No. 2.  From Flickr user psd.
Difference Engine No. 2. From Flickr user psd.

The Science Museum’s Difference Engine No. 2 project put to rest any doubt about the limits of Victorian engineering. Babbage’s Engines were achievable in Victorian Britain and Babbage’s 100-year leap in inventing the computer could have been realized.

It’s time to build the Analytical Engine

I hope to finish Babbage’s dream and build an Analytical Engine for public display. I’ve launched a project called Plan 28 to raise the money and bring together people to work on the Engine. Babbage left behind extensive documentation of the Analytical Engine, the most complete of which can be seen in his Plan 28 (and 28a), which are preserved in a mahogany case that Babbage had constructed especially for the purpose.

There are three important steps to achieve this goal:

  1. A decision must be made on what constitutes an Analytical Engine
  2. The Engine should be simulated on a computer to help debug the physical machine
  3. The machine must be built

The first step is necessary because Babbage continually refined his designs — he was constantly aiming at simplification and faster computational speed — and left behind a mixed collection of plans and notebooks. Sorting through this material will require the help of historians and specialists in Victorian engineering.

Simulating the machine using 3D modeling software and a physics engine would enable us to bring the machine to life without making any metal parts. Given the size and complexity of the machine, this step is vital. And since the final machine would wear out if constantly used, it would provide a way of demonstrating the Engine.

It might seem a folly to want to build a gigantic, relatively puny computer at great expense 170 years after its invention. But the message of a completed Analytical Engine is very clear: it’s possible to be 100 years ahead of your own time. With support, this type of “blue skies” thinking can result in fantastic changes to the lives of everyone. Just think of the impact of the computer and ask yourself how different the Victorian world would have been with Babbage Engines at its disposal.

What seemed like costly research that was unlikely to have any short-term value turned out to be the seed of one of the greatest revolutions mankind has seen. I hope that future generations of scientists will stand before the completed Analytical Engine, think of Babbage, and be inspired to work on their own 100-year leaps.

Related:

tags:
  • http://www.cunningba.com Barry Cunningham

    Open Source CNC I hope.

  • http://thenextwavefutures.wordpress.com/ Andrew Curry

    The Babbage engine has already been built, at the Science Museum in London, by Dorian Swade. If I recall, he wrote a book about the experience. Or am I misunderstanding your proposal?

  • http://jgc.org/ John Graham-Cumming

    You are thinking of the Difference Engine No. 2 which is a specialized calculator designed by Babbage for calculating by the method of difference. It is not a general purpose computer.

    I am talking about the general purpose digital computer that Babbage designed which is referred to as the Analytical Engine.

  • Anonymous

    Edward Sheutz built a difference engine in 1843. Some 100 years before Collosus. However analytical engine was never built until 1945, though it was conceived about that time by Babbage.

  • Robert Horning

    Putting together a simulation sounds like an interesting project. A software simulation or even a simulation on an FPGA would be interesting by itself, sort of like the ENIAC on a chip project which was done by the University of Pennsylvania. If you have the documentation in enough detail to at least understand the control “circuits”, making a simulation would be a fun hobby project that I’m sure you can put together a team of internet users to help out with.

    In terms of actually building the real thing, you need a few good mechanical engineers, some very skilled machinists, and some kind of very strong motor that can operate the equipment. One of the questions to ask is how authentic you want to make this computer, and if you really want to make it steam driven or if an electric motor would be sufficient? Late 19th Century machinery typically used belts or gears being driven off of a central shaft that was connected either directly to a water paddlewheel or a steam engine. At least for testing purposes, that would seem to be a bit of overkill but would certainly make the whole machine authentic.

    Yeah, a steam driven computer that requires a small warehouse in order to operate that has the computational power of a 4004 chip consuming about a half a megawatt of power and costing several million dollars and tends of thousands of man-hours of labor to build. Still, it sounds like an interesting idea even if just to prove that it could have been built.

  • evang

    A functioning, web-accessible 3D model of the Analytical Engine is a great idea. Students wouldn’t have to visit the Science Museum to see it.

  • http://www.kswbeer.com Greg

    If you built a couple of these, you could network them with water troughs and floating pucks of wood. One trough could be a strobe, and the other data. Maybe a steam cannon, for wireless? …Collisions would be hilarious.

  • http://innovation-central.blogspot.com NJ

    Hi John,

    I live in Watford. I have a mechanical engineering degree and have worked in the IT industry.

    I would love to help in any way possible.

    Cheers

  • http://www.silentvote.com Thayla Caldari

    I think Greg has the right idea. Someone will eventually build this machine. With that said, we do need to focus on the networking of them. I’m thinking that we’ve already testing the carrier pigeon protocol and that was available in his day so why not go with that.

  • http://www.jkmicro.com Jim S.

    Two quick suggestions. As a first step, scan and compile his complete notes and put them on a DVD. Sell the DVD to interested parties for some nominal fee as a fundraiser.

    Recruit the model engineering community to help build the engine. Exhibition steam engines have been made by home machinists all around the world each building a part or two. Perhaps the same can be done to share the work.

    Good luck.

  • MarsBorg

    This needs to be done.

    Although it seems like a bit of an expensive luxury hobby it actually has interesting real potential for further development that simulation or 3D modelling alone can not satisfy. A full scale model will be very useful for teaching and research purposes.

    As nanotechnology improves, miniature Babbage Analytical Engines and developments of these will be incorporated into nano-mechanical devices of all kinds.

  • http://nerdfever.com Dave L.

    I think it would be interesting to build a more practical computer with circa 1800 technology – relays. Why Babbage never thought of relays is beyond me.

  • Steve Taylor

    Hey, we’ll donate CNC time to this.

    Steve

  • http://www.freakinabox.com Tim Jones

    I would be wholly willing to submit my meagre resources to any interpretation of a Babbage Engine.
    I am about to embark upon my MSc in High Performance Computing and it would bring me no end of ironic joy to use the vast computational power that will be at my disposal to fully simulate what could have been the worlds first programmable computer.

  • http://analytical-reengineering.dre.am/ Ethan G.

    @ Dave L:

    I suspect Babbage never thought of relays because the connection hadn’t yet been made between Boolean logic and number crunching, or if it had it was done by a man whos work may not have appealed to many. I’m unclear on the details but I understand the man who basically invented binary math had very strange views, seeing 1 as God and 0 as the void, nothingness, death.

  • http://kubaober.blogspot.com Kuba Ober

    First of all, there is a java-based analytical engine *functional* simulator available online, with plenty of software samples.

    Read all about it at:
    http://www.fourmilab.ch/babbage

    This is the simulator itself:
    http://www.fourmilab.ch/babbage/websim/ex1.html

    The source code is available too (it’s in public domain).

    Of course this is but a functional simulator — you’re after a full-blown mechanism simulator, but this should be a good start.

  • ralph siegler

    Dave L, the relay wasn’t invented until 1835 by Joseph Henry, an American. Babbage had conceived and built a model Difference Engine from 1812-1822. The British government withdrew support of his project in 1834.

  • http://ecloud.org Shawn Rutledge

    Relay computers have been built too. For example
    http://web.cecs.pdx.edu/~harry/Relay/

  • A. C.

    Such a project is fraught with great risk. Remember, as described in the book, Babbage’s prime contractor for the difference engine went broke making the components. Likewise, the Science Museum’s prime contractor went broke while making the parts, although it appears that there were other contributing factors. Still not a good track record for large mechanical computing machines.

    The analytical engine has more and more different parts than the difference engine, making it an even greater risk both financially and in terms of project management.

  • http://www.jeffwoods.us Jeff Woods

    Perhaps some cross-pollination of ideas for other computing platforms would be interesting. Note:

    http://www.boingboing.net/2010/09/28/working-computer-mad.html

    http://www.boingboing.net/2010/04/15/colossal-turing-mach.html

  • Duncan McIntyre

    I’ve thought about getting a project together to do this often.

    As a first step I recommend doing it in Meccano – see: Tim Robinson’s Difference Engine #2.

    Another alternative may be to do it in plastic using rep-rap techniques and distributing the manufacture of parts over many people.

    If a working machine could first be built this way (and at low cost) it might then be possible to attract the necessary funding to build a machine as envisaged by Babbage.

  • http://jgc.org/ John Graham-Cumming

    Thanks for all the comments and ideas. I’m assimilating them, plus the ton of email I’ve received and will get back to people over the next few weeks.

    To stay updated please either follow @plan28 on Twitter or join the Facebook page (both can be found via http://plan28.org/)

  • http://tartley.com Jonathan Hartley

    With respect for the author, from my perspective, I think a building physical embodiment of the analytical engine is not the best of all possible goals.

    I’d personally prefer to see a software simulation of one that gave helpful diagnostic displays, allowing one to examine precisely how it operated and what it was up to at any moment in time.

    I don’t mean a 3D virtual model of the physical engine. I just mean some instructive logical equivalent, built up by connecting components that are functionally identical to the components of the physical engine. Then we could more directly compare and contrast it with the CPUs and ALUs of today.

    I feel Babbage himself, had he seen the relative ease and low cost with which a software version could be put together, would have loved this version. :-)

  • http://tartley.com Jonathan Hartley

    >> “Just think of the impact of the computer
    >> and ask yourself how different the Victorian
    >> world would have been with Babbage Engines at
    >> its disposal.”

    No doubt many readers are already familiar with this, but such a world has been beautifully envisaged in William Gibson and Bruce Sterling’s novel The Difference Engine:

    http://www.amazon.co.uk/Difference-Engine-Gollancz-S-F/dp/0575600292

  • Jarleth

    Just beat me to it Jonathan, was surprised no-one else mentioned the “The Difference Engine” book.

    Did you notice that it’s Babbage’s Analytical Engine that is featured in the book, not a difference engine?

  • http://jgc.org/ John Graham-Cumming

    There’s been such a strong positive reaction to this that I’ve set up a PledgeBank to see if a decent sum of money can be raised to make it really happen.

    http://www.pledgebank.com/babbage

  • paul rennie

    Great idea and good luck.
    Babbage was a mechanical, philosophical and mathematical genius.
    The re-creation of diference 2 at the Science Museum is brilliant.

    A whole bunch of people have just built a brand new steam train in the UK (Tornado). So why not an analytical engine?

  • Rob Brookes

    Hi John,

    I heard you on Radio 5 today, it sounds like a fantastic idea and I’d love to be involved, please contact me to let me know how I can help.

  • Rob Brookes

    Sorry I thought my post would display my email, it’s brookesy187@gmail.com

  • http://history-computer.com/ Georgi Dalakov

    Hi, John.

    Congratulations for the fantastic idea. Babbage is one of the greatest geniuses and undoubtly deserves such a credit. But I think that you have to separate your goals somehow, if you don’t want your idea to remain only on paper. The first one – to document the Analytical Engine is feasable and you can achieve it with some hard work. The second one – to create a digital model is much harder to achieve, but still feasible with some help from other people, I am a volunteer also. Sorry but I don’t believe that you will manage to achieve the last goal – to built a hardcopy of the machine, at least because you will need several milion pounds for this. Nevertheless, wish you success…

  • Kevin Phair

    I’m sure I can’t be only person thinking this, but when it comes time to build the actual machine why not take distributed processing out into the real world and set up a distributed fabrication network?

    There very few people out there who would have the time and resources to build and assemble all the parts themselves but from my reading of many sites like hackaday, make etc. there are many people out there who have access to high-quality machining equipment who would probably be only too happy to help by making and contributing parts when the final design is published.

    People could sign up and tag each part from the parts list that they would offer to fabricate with a due date. As parts are made they are sent to a local store of which there might be a few for each State (in the US) or country for QA and despatch to the assembly location. If the due date passes with no part received and no reason for the delay then it’s flagged as available for someone else to take on.

    It seems to me that this would take a lot of the risk out of financing the build and would be more a case of managing the resources that people are willing to contribute rather than trying to fund the thing from scratch. I’m sure there would be no shortage of people who would love to be able to point to the finished machine and say they had a part (literally) in making it. It would also help with the ongoing issue of replacing worn parts as the machine is demonstrated over time.

    It will be great to see the software simulation running, but unlike one of the posts above I think it really does need to make it into physical reality. Only when the actual machine is built and people can see, smell, touch and hear it will the enormity of the what Babbage did really drive home.

  • Markus

    Why is everyone forgetting about Konrad Zuse?
    Just because he is German or what? :(

  • http://www.interpretazione-sogni.org Emma30

    With respect for the author, from my perspective, I think a building physical embodiment of the analytical engine is not the best of all possible goals.

    I’d personally prefer to see a software simulation of one that gave helpful diagnostic displays, allowing one to examine precisely how it operated and what it was up to at any moment in time.

    I don’t mean a 3D virtual model of the physical engine. I just mean some instructive logical equivalent, built up by connecting components that are functionally identical to the components of the physical engine. Then we could more directly compare and contrast it with the CPUs and ALUs of today.

    I feel Babbage himself, had he seen the relative ease and low cost with which a software version could be put together, would have loved this version. :-)

  • http://1201Restart.com Glen Pepicelli

    This is very interested. Why was it to be powered by steam? It would seem just a hand crank or something would be enough power.

    Just wondering :)

  • Bret Watson

    So in some ways Babbage’s project was the very first IT project to be run by difficult people and blow its budget – the only thing that has changed is the speed at which we can do it :)

    Glen, the friction in a machine this size means you would need quite a bit of torque to move the gears – a hand crank is fine for an adding machine, but not this.

    Cheers

    Bret

  • http://allpoetry.com/cricketjeff Jeff Green

    OK, so when I win the lottery this would be about purchase number 3!

    I WANT ONE!

    :)

  • http://www.sognipedia.it/ Sogni

    Fantastic… i d like live in 1837…

  • http://www.librodeisogni.net/ Marisa dei Sogni

    Technology is running so fast!