Friday, December 11, 2009

Steampunk!

It's like a birthday gift that arrived a few centuries too late. The English mathematicianCharles Babbage, who was born the day after Christmas in 1791, dreamed of calculating logarithms using a vast machine. Or daydreamed, at least; he wrote in his Passages from the Life of a Philosopher:

...I was sitting in the rooms of the Analytical Society, at Cambridge, my head leaning forward on the table in a kind of dreamy mood, with a table of logarithms lying open before me. Another member, coming into the room, and seeing me half asleep, called out, Well, Babbage, what are you dreaming about?" to which I replied "I am thinking that all these tables" (pointing to the logarithms) "might be calculated by machinery."
Babbage won government support to work on a "difference" engine that could handle calculations that were valuable to navigators; nautical tables at the time were riddled with errors and could lead a ship into disaster. But after one seventh of the machine was built, and 17,000 pounds from government coffers and 6,000 pounds of Babbage's own fortune were poured into the project, the dream of the "difference engine" died. It was not resurrected for over a century, until the 1980s, when Doron Swade, then a curator at the London Science Museum, decided he would try to build one, this time based off of a later design, the Difference Engine No. 2. It took 17 years to put together the difference engine, built entirely from materials that would have been available in Babbage's time. Forget the sleek, minimalist aesthetics of the MacBook. This is what a beautiful computer looks like:



NPR recently ran a wonderful story on a second version of the difference engine replica currently at the Computer History Museum in Mountain View, California (where Google lives). This video from the Museum shows the difference engine in action; it's operated entirely by hand crank, and mesmerizing to watch.



Instead of bothering with multiplication or division, the machine reduces any problem to a problem of "differences", or adding and subtracting; hence its name. The Computing History Museum writes: "Its 8,000 parts are equally split between the calculating section and the output apparatus. It weighs five tons and measures seven feet high, eleven feet long and is eighteen inches deep at its narrowest."

Left: One of Babbage's original designs. Top: The dream realized. (Science Museum.)

But building Babbage's ultimate invention, the Analytical Engine, is a whole other story. The Analytical Engine took the ideas of the Difference Engine to the next level. Reading from punch cards and printing out the answers, the Analytical Engine would have launched the Victorian information age. (I'm seeing the workings of a science fiction/alternate history novel.) The Computing History Museum writes:

The Analytical Engine features many essential principles found in the modern digital computer and its conception marks the transition from mechanized arithmetic to fully-fledged general purpose computation. Had the Engine been built, it would have dwarfed even the vast Difference Engine and cranking it by hand would have been beyond the strongest operator.

Although the Analytical Engine was never built, a language was designed for it by Ada Lovelace, the daughter of Lord Byron, making Lovelace the first programmer. Her code was never put to use, but in the 1970s an early programming language was named after her. She also realized that the Engine wasn't a mere calculator, but a computer in the modern sense:

Perhaps more importantly, the article contained statements by Ada that from a modern perspective are visionary. She speculated that the Engine 'might act upon other things besides number... the Engine might compose elaborate and scientific pieces of music of any degree of complexity or extent'. The idea of a machine that could manipulate symbols in accordance with rules and that number could represent entities other than quantity mark the fundamental transition from calculation to computation.

Although the Analytical Engine will probably never be built in the flesh, or the metal, as it were, Babbage fans have created an emulator for modern computers. You can find the source code, and a lot of information about the never-built Victorian computer, here.

5 comments:

  1. It is strange about Ada Lovelace because Joseph M. Jacquard was already using a program for his machines.

    ReplyDelete
  2. I've seen Jaquard's punch cards described as a precusor to programming. They controlled the loom head, but, at least according to Wikepedia, were not used in programming.

    Guess it depends what you mean by programming and language.

    ReplyDelete
  3. Cards are done with a binary language or code like 0 and 1, but in this case this is with holes or not, and Babbage’s machine was working also with this kind of cards apparently. Finally it seems that this kind of programming was used before J. M. Jacquard, and for what I read about it Wikipedia is using the word program. But as you write it can depend of what one is understanding by programming, anyway there is the binary language or code.

    ReplyDelete
  4. This is utterly fascinating! I'm not very versed in electronic jargon, but the machinery is beautiful.

    ReplyDelete
  5. that book has already been written... it's called the Steam Butterfly (i think - and i cannot remember the author's name, but it was very good :P )

    ReplyDelete