Hacker News new | ask | show | jobs
by int_19h 553 days ago
However much credit Ada deserves for her programming techniques, to me the thing that always stood out is her ability to see the big picture wrt computation:

> Again, it [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.

Imagine coming up with this idea in 1842, a whole century before the first actual programmable computers would be built, based solely on a description of a prototype of a mechanical computer. This is hacking extraordinaire.

3 comments

I agree, this is the thing that stood out to me. There's this kind of amazing leap you have to do to understand how computers do what they do. How does a thing that adds and subtracts numbers paint pictures? Once you grasp that you can transform those things into numbers and then operate on them, the whole world of computation opens up. It's amazing Ada was thinking about this 100 years before computers really existed.
I agree she was a visionary, but take note that by the time she was active, people were already building complex mechanical automata that executed stored programs implemented using cams and gears: https://en.wikipedia.org/wiki/Jaquet-Droz_automata (see also https://en.wikipedia.org/wiki/Maillardet%27s_automaton). I think a small number of very intelligent people would see Babbage's work and Jaquet-Droz and conclude "hmm, if we mash these together with some creativity, it seems reasonable the result would be a programmable automaton capable of painting".
Programmable looms (which used a type of punchcard) such as the Jacquard Loom had existed for a little while - if I recall she specifically referenced this as inspiration for some of her ideas. Not trying to diminish how impressive her work was, but I do believe some form of primitive mechanical computation had already been done for a little while.
Jacquard loom was indeed well-known, and one of the sources of inspiration for Babbage, but it is still fundamentally about designing a system around a specific task - the cards directly encode operations on hooks.

What Ada is saying here is that, once you have a machine that let you do generic operations on numbers, you can use it to do all kinds of non-math stuff so long as you can come up with ways to encode other things as numbers (= finite sets of symbols). This was not at all obvious to other people who worked on the Engine, including Babbage himself.

Given that the looms’ punched cards already represented non-math stuff, the thought wasn’t entirely far-fetched.
Tide prediction machines came about 30 years later as an application of the "science of harmony".