Happy Ada Day!
For reasons which are pretty opaque to me, apparently today has been designated Ada Lovelace Day? Which is kinda weird, since "October 14" appears nowhere on her Wikipedia page, but well, okay. At least it makes a convenient excuse to write a blog post, since she was a pretty damn cool person.
If you've never heard of Ada Byron, Countess of Lovelace before, there are much better places to read about her life than on my blog. (Like what, Ross? Well, uh, this piece on The Mary Sue? Is kinda over-excited, or maybe just adequately excited. In any case, probably go read it and come back.)
So yesterday, when a friend asked me the other day what exactly "theoretical computer science" was, if not programming, I thought a little bit and said something like:
Well, imagine that, instead of actually sitting down and telling a computer to do something, you wanted to think about what sort of things a computer could do, if you instructed it right. If you think about computation as a process, as a structural description of arithmetic, and ask what you can do with that...
I mean, look at Ada Lovelace. She wrote a lot about what you could do with a computing machine, if you had one, but she didn't, so it was a century before the things she wrote down were ever ran through an automatic computer. She wasn't a programmer--she was a mathematician. And, really, a good one, too.
And then, surprise! Today is Ada Day! That's weird.
But really, if there was someone who understood what Charles Babbage's "Analytical Engine" actually was (even better than he did), it was Ada:
"The Analytical Engine does not occupy common ground with mere 'calculating machines,'... A new, a vast, and a powerful language is developed for the future use of analysis, in which to wield its truths so that these may become of more speedy and accurate practical application for the purposes of mankind than the means hitherto in our possession have rendered possible."
While fashionable computationalists of the mid-1800s were congratulating themselves on designing machines capable of computing arithmetic answers, she saw something deeper in the new machines, in their ability to reason about arbitrary objects, not just numbers:
[The Analytical Engine] might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine...
Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.
...and all this, despite being a woman in Victorian England (which, I'm told, made it pretty hard to be taken seriously as an intellectual). In other news, I've decided I want to be Ada when I grow up. Except I'm rather doubtful that I'll ever be that awesome.
So that's your history lesson for today. Tune back in tomorrow for my (completely unbiased) review of a play (with which I may or may not be involved) that you should totally go see this weekend.