Friday, October 30, 2009

Mechanical Computers and You

In 1837, Charles Babbage (a British mathematician) first described the Analytical Engine, which historians since have called the first workable design for a punch card computer. The Engine was never built, however, because Babbage himself was a jerk to work with and alienated a lot of his supporters (by all accounts), not to mention the political, financial and legal issues that surrounded the project.

A model of the Analytical Engine built in 1992
that now lives in the Science Museum (London).

The Analytical Engine is interesting because it predated the first electro-mechanical computers (the German Zuse Z3 and the American Atanasoff–Berry Computer) by more than 100 years. In many ways, it might have been more powerful than those first computers developed in the 1940s, except Babbage's design was more or less forgotten about in the world of mathematics and computer science. In "The Difference Engine," William Gibson and Bruce Sterling show their views on how Victorian England would've changed if Babbage had actually built the Engine. It's a very interesting read anyway, being one of the founding works of steampunk and all, outside its stance as a thought experiment.

Babbage's machine ran off the same style of punch cards Joseph Jacquard developed to run his looms, which were pieces of punched metal strung together into one long sheet. These were not the card-stock version Herman Hollerith developed in the 1880s for the U.S. Census, but did manage to create enough of a precedence for Hollerith to not get a patent.

What's this all mean for the writer of steampunk? Well that depends on how technology heavy you want to get in your story. If you don't want to deal with computers and punch cards (I do because I'm weird, but you already knew that) then you can safely ignore this aspect of Victorian technology. If, however, you want to include things like automatons and computer-controlled equipment, then you must of necessity make them run on punch card programming.

I could go into detail about punch cards, but that would probably make your eyes glaze over* (it's all very technical and not really necessary unless you're writing a character who has to explain it at some point). Suffice it to say, if you want computer functionality in a steampunk world, then mechanical computers are the way to go. And as with everything steampunk, the design of your mechanical computer is up to you. Happy writing, fellow travelers.

*If you really want a detailed discussion on punch-card programming, feel free to email me.


Joshua McCune said...

Ha ha! -- now your question makes much more sense. Yeah, my head's way up in the clouds sometimes :)

Matthew Delman said...

That's all right, Bane. I talked punch card programming with my Dad (the MechE) for roughly an hour and a half to make sure I had a decent handle on it before writing the related scene.

And yeah, I tend to confuse my wife too when I ask her random questions about things (usually at the end of a thought process that I then have to explain).

Susan R. Mills said...

You know, I'm so fascinated by your posts about technology. I'm not sure why, but I am. I don't write steampunk. I don't know, maybe I'm just a history buff at heart. Please keep sharing.

L. T. Host said...

I would say I would like to know because I would. Now for the not-confusing part: my brain doesn't wrap around things like programming very well, which is part of why I want to know (to understand how it works) but part of why I'm afraid to ask. *sigh*.

Good post :) Looking forward to more!

Stephanie Thornton said...

I had no idea about the punch-card technology. This is all really intriguing and while I'm not a math/science person, I'm enjoying trying to wrap my brain around this techy stuff!

So here's a question for you- would aeronautics play into a steampunk world?

Davin Malasarn said...

I think it's cool that you're going to use punch card technology in your story! I'm looking forward to reading that.

Matthew Delman said...

L.T. --

I'll send you a primer email at some point this weekend. My punch card programming is extremely basic stuff too, so it won't be too tremendously confusing.

Davin --

The mother of my CaN MC encodes a map using prime numbers, which the MC figures out are related to positions on a punch card. It's quite cool, I think.

Stephanie --

That question just earned the place of honor as Monday's post!

Matthew Delman said...

Oh, and the short answer is "Yes" by the way.

Gary Corby said...

I was lucky enough to see the engine in your picture in October last year when I was in London. It's even more amazing in real life when you realise how many moving parts there are.

It's worth noting the world's first computer programmer was the Lady Ada Lovelace, daughter of Lord Byron and a very strong mathematician. She was introduced to Babbage via her tutor, who was no less than the famous logician de Morgan. Ada was fascinated by the Difference Engine and wrote the instructions to list all the Bernoulli Numbers (which are used in pure maths).

Babbage never finished the engine but Ada published her code. It was the world's first computer program. The code was eventually run on a simulator a few decades ago. It had bugs, which was no surprise since she never had a chance to test it, but fundamentally it worked.

Adam Heine said...

Nice post. And nice comment by Gary Corby. I always thought it was awesome (and ironic in this world of male-dominated programmers) that the world's first computer programmer was a woman.

Stephanie Thornton said...


You just gave me something to look forward to for Monday!