Live data from Hacker News

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

twobithistory.org

41–50 of 138 posts

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

#41
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.

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

#42

Earlier quoted context omitted.

...or worked with any mathematicians/physicists/engineers who program. As soon as I saw that, I thought "typical quant". Like my dad (A chemical engineer) learned to program in FORTRAN, which used to insist variable names were 1 letter and up to 2 digits. He later learned Basic, but his code was still spiritually FORTRAN so the one-letter-two digits thing stuck. I thought that was just him but then much later I went…

That naming convention makes perfect sense to the mathematician, so why not? It's why we use `for(int i = i; i < n; i++)` in for loops; its the mathematical sigma sum of values with the same naming convention

A loop counter doesn't carry much semantic weight so it gets a short name. Doing that for important things that deserve a descriptive name is the problem. Maybe passable with literate programming, but even Knuth's code is pretty inscrutable due to transclusions everywhere.

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

#43
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.

Babbage would have likely had more success if he stayed in England and opened his own precision machine shop.

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

#44

> 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?

Probably not, it's stated in the TFA, the controversy is because Lovelace was a woman and some people think propping her up is basically a DEI retcon in history, the rest of us don't care. But I don't think it's anything whatsoever to do with actual computers

An entire programming language was named after her in 1980 (by a man) when when such things didn't exist.

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

#45

> 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?

Is an early 20th century mechanical desk calculator a computer? There is no consensus on definition but for me, a computer follows a program. Maybe even only one fixed program. But a program. If there is no stepping through a program it is not a computer.

Does the iterative method used by the difference engine constitute a program?

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

#46
post #21

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…

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

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

#47

> In fact, aside from the profusion of variables with unhelpful names, the C translation of Lovelace’s program doesn’t look that alien at all. Clearly the author never met my coworkers.

...or worked with any mathematicians/physicists/engineers who program. As soon as I saw that, I thought "typical quant". Like my dad (A chemical engineer) learned to program in FORTRAN, which used to insist variable names were 1 letter and up to 2 digits. He later learned Basic, but his code was still spiritually FORTRAN so the one-letter-two digits thing stuck. I thought that was just him but then much later I went…

Not sure which Fortran this refers to. I never used Fortran I, but as I understand it, names were up to 6 characters long, first character alphabetic; names with initial letter A-H and O-Z were REAL, I-M INTEGER (Fortran II added declarations to override the defaults). Dartmouth Basic restricted names to a single letter and an optional digit.

Incidentally, the various Autocode languages of the 1950s in Britain had 1-character variable names.

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

#49
post #17
post #14

Earlier quoted context omitted.

Half the article is about Note A and Note G.

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.

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

#50
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.

> 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

Post reply on HN