Ada Lovelace Day — Bringing women in technology to the fore
I suppose if you are going to name a day in someone’s honor, Ada Lovelace isn’t your worst choice. Yesterday was Ada Lovelace Day, “an international day of blogging to draw attention to women excelling in technology.”
Ada, you may have heard, is “the world’s first programmer” (that claim can be and is widely debated). She is, certainly, a favorite of the steampunk crowd, for good reason. What she’s known for is her collaboration with Charles Babbage on his utopian project to build the analytical engine, which was a computing machine that, had it been built in the mid-19th century as planned, would have been capable of computing everything your desktop machine is (in principle if not in practice). You can read about it any number of places.
Or you could go to the source: this document, which is a translation by Ada Lovelace of an italian text on the analytical engine, with extensive notes by the translator. In the notes we find visions of how general purpose the analytical engine really was:
The operating mechanism can even be thrown into action independently of any object to operate upon (although of course no result could then be developed). Again, it 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.
The important thing about the analytical engine, Lovelace contended, was its programmability:
The distinctive characteristic of the Analytical Engine, and that which has rendered it possible to endow mechanism with such extensive faculties as bid fair to make this engine the executive right-hand of abstract algebra, is the introduction into it of the principle which Jacquard devised for regulating, by means of punched cards, the most complicated patterns in the fabrication of brocaded stuffs. It is in this that the distinction between the two engines lies. Nothing of the sort exists in the Difference Engine. We may say most aptly, that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves.
The bounds of arithmetic were however outstepped the moment the idea of applying the cards had occurred; and the Analytical Engine does not occupy common ground with mere “calculating machines.” It holds a position wholly its own; and the considerations it suggests are most interesting in their nature. In enabling mechanism to combine together general symbols in successions of unlimited variety and extent, a uniting link is established between the operations of matter and the abstract mental processes of the most abstract branch of mathematical science.
The origin of the “world’s first programmer” claim is a number of algorithms also to be found in those translator’s notes. Interesting stuff, no?