A well-known British programmer, blogger and online campaigner has called for a collaborative effort to finally make a legendary steampunk mechanical computer - the Babbage Analytical "Engine", designed but never actually built - a reality.
John Graham-Cumming will be well known to many Reg readers as the programmer behind POPFile and the initiator of the successful 2009 campaign demanding an official government apology for famous WWII Nazi codebreaker hero and persecution tragedy boffin Alan Turing. Now Graham-Cumming has called for a push to build a working Analytical Engine as planned in the early 19th century by mathematician Charles Babbage.
Back in Babbage's day practical mathematics and calculation were reliant on printed tables generated by teams of people working out figures by hand. The resulting tables were naturally riddled with errors, and Babbage originally designed his machines as an automated way of producing tables. He never succeeded in building a complete working Engine during his lifetime: some suggest that Victorian engineering was not yet capable of the necessary precision and durability, others that Babbage's tussles with the scientific establishment of the time meant that he couldn't raise sufficient funding.
A working Babbage engine, to his design for Difference Engine No 2, was however built in the 1980s and is now in the Science Museum. It weighs 2.6 tonnes, stands seven feet high and is 11 feet long.
However, the Difference Engine is not a programmable computer, able to perform different tasks: in effect it is merely an automatic calculator. It is the never-yet-built, more complicated Analytical Engine on which Charles Babbage's fame among modern computer folk is based, as it was designed to run different programs coded on punched metal cards - of the sort used in 19th-century automated Jacquard looms.
According to Graham-Cumming, the time has now arrived to build the Analytical Engine and make Babbage's steampunk dreams a reality. Graham-Cumming writes on his blog:
I say that it's time Britain built the Analytical Engine. After the wonderful reconstruction of the Difference Engine we need to finish Babbage's dream of a steam-powered, general-purpose computer.
The Analytical Engine has all the hallmarks of a modern computer: it has a program (on punched cards), a CPU (called the 'mill') for doing calculations and it has memory. Of course, it's not electric, it's powered by steam. But the principles that underlie the Analytical Engine are the same that underlie the computer I'm writing this on.
The famous Victorian mathematician Ada Lovelace was fascinated by the idea of the Analytical Engine, even going so far as to write code for it - thus she is seen by many as the first computer programmer* (and even has a language named after her). Graham-Cumming goes on to add:
What a marvel it would be to stand before this giant metal machine, powered by a steam engine, and running programs fed to it on a reel of punched cards. And what a great educational resource so that people can understand how computers work. One could even imagine holding competitions for people (including school children) to write programs to run on the engine. And it would be a way to celebrate both Charles Babbage and Ada Lovelace. How fantastic to be able to execute Lovelace's code!
Graham-Cumming says he would "jump at the chance" to run the project himself, with a view to giving the completed machine to the Science Museum or Bletchley Park thereafter, though he adds that he and his possible collaborators couldn't be expected to do the work for free. He says he's "not quite ready to start accepting cash", however, wanting to gauge the level of interest first. ®
*Though there are dissenting opinions.