Live data from Hacker News

What did Ada Lovelace's program actually do? (2018)

twobithistory.org

51–60 of 138 posts

Re: What did Ada Lovelace's program actually do? (2018)

#51

A really cool article. From the Intro: > She thought carefully about how operations could be organized into groups that could be repeated, thereby inventing the loop. She realized how important it was to track the state of variables as they changed, introducing a notation to illustrate those changes. As a programmer myself, I’m startled to see how much of what Lovelace was doing resembles the experience of writing so…

> She realized how important it was to track the state of variables as they changed, introducing a notation to illustrate those changes.

The thing that really stuck out to me was how similar it was to static single assignment. https://en.wikipedia.org/wiki/Static_single-assignment_form#...

I think this is a state-of-the-art technique today and she had it, what, 180 years ago?

Re: What did Ada Lovelace's program actually do? (2018)

#52
post #4

> The Difference Engine was not a computer, because all it did was add and subtract. The definition of computer is pretty grey for the pre-digital era, and it wasn't turing complete, but is it actually controversial whether it was a computer?

Difference Engine basically implemented one algorithm in hardware, while Analytical Engine was supposed to run a program. I believe that could make the latter one a computer.

> Difference Engine basically implemented one algorithm in hardware

So, did Pong run on a computer?

Re: What did Ada Lovelace's program actually do? (2018)

#54
post #49
post #17

Earlier quoted context omitted.

Sure, but it is spoken about in the abstract. I enjoyed the article, but why not at least include "some" of the actual notes she wrote or at least a screenshot?

There was a link to directly to note G in the article, in fact, it's the exact same URL that you linked to.

Yes, and I said that explicitly in my post.

The difference is in my post it is one of the featured things. In the article that claims to show what the program actually did it is buried in the text.

Re: What did Ada Lovelace's program actually do? (2018)

#55
post #40

Earlier quoted context omitted.

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…

Given that the looms’ punched cards already represented non-math stuff, the thought wasn’t entirely far-fetched.

Re: What did Ada Lovelace's program actually do? (2018)

#56
post #46
post #21

Earlier quoted context omitted.

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…

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 exist…

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".

Re: What did Ada Lovelace's program actually do? (2018)

#57
post #4

Earlier quoted context omitted.

Difference Engine basically implemented one algorithm in hardware, while Analytical Engine was supposed to run a program. I believe that could make the latter one a computer.

> Difference Engine basically implemented one algorithm in hardware So, did Pong run on a computer?

No.

Re: What did Ada Lovelace's program actually do? (2018)

#58
> In 1975, Paul Allen flew out to Albuquerque to demonstrate the BASIC interpreter that he and Bill Gates had written for the Altair microcomputer. Because neither of them had a working Altair, Allen and Gates tested their interpreter using an emulator that they wrote and ran on Harvard’s computer system. The emulator was based on nothing more than the published specifications for the Intel 8080 processor. When Allen finally ran their interpreter on a real Altair—in front of the person he and Gates hoped would buy their software—he had no idea if it would work. But it did.

So, the real unsung heroes here are the Intel engineers who wrote a spec that was so exact that software running on an emulator written based just on the spec would also run without a hitch on the actual hardware?

Re: What did Ada Lovelace's program actually do? (2018)

#59
post #50

Earlier quoted context omitted.

I had an employee like that. He'd want to do something, and hit a roadblock, so he'd design his own tool (He wrote his own font, once, because he didn't like the way the built-in ones worked at teeny point sizes). Best damn engineer I ever knew, but I had to keep an eye out for rabbitholing.

> He wrote his own font, once, because he didn't like the way... Wonder how many folks here have done the same thing, building and discarding in the throes of creation like tibetan monks: https://en.wikipedia.org/wiki/Sand_mandala

[deleted]

Re: What did Ada Lovelace's program actually do? (2018)

#60
post #7

> In her “diagram of development,” Lovelace gives the fourth operation as v5 / v4. But the correct ordering here is v4 / v5. This may well have been a typesetting error and not an error in the program that Lovelace devised. All the same, this must be the oldest bug in computing. I marveled that, for ten minutes or so, unknowingly, I had wrestled with this first ever bug. The real mark of a non-trivial program is that…

I had an employee like that. He'd want to do something, and hit a roadblock, so he'd design his own tool (He wrote his own font, once, because he didn't like the way the built-in ones worked at teeny point sizes). Best damn engineer I ever knew, but I had to keep an eye out for rabbitholing.

Obviously yak shaving is a hazard in that it can result in the original project getting abandoned or deadlines being missed, but often the tools you develop along the way are more (economically) valuable than the original project. They're often more widely applicable and narrower in scope, so they're more likely to get done and more likely to find an audience.

An example that comes to my mind is the Rust library mio. The Metal database for which it was the I/O component never materialized. But mio is a core component in the Rust ecosystem.

Similarly, many applications could benefit from a font that's legible at tiny sizes, not just the one that it was developed for. (Though obviously in most work cultures, this would be considered inappropriate, and for good reasons. My remarks apply mostly to greenfield research/personal projects where deadlines are loose.)

Post reply on HN