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