Hacker News new | ask | show | jobs
by dralley 1737 days ago
Likewise, people dispute that Ada Lovelace was the first programmer, because Babbage and Menabrea had previously created a few simple example programs.

But that downplays her accomplishments too much. She didn't write the "first program" but she was the first to understand what computers would be capable of doing (for example, that by assigning numbers to letters and symbols, computers could do more than simply perform numerical computations), and she was the first to invent foundational control flow structures such as loops and conditionals. Her program was much more rigorously defined and sophisticated than any previous examples.

>The longest program that Menabrea presented was 11 operations long and contained no loops or branches; Lovelace’s program contains 25 operations and a nested loop (and thus branching).

https://twobithistory.org/2018/08/18/ada-lovelace-note-g.htm...

https://writings.stephenwolfram.com/2015/12/untangling-the-t...

https://projectlovelace.net/static_prod/img/Diagram_for_the_...

7 comments

I really enjoyed Stephen Wolfram's mini-bio of her.

https://writings.stephenwolfram.com/2015/12/untangling-the-t...

I very much recoginized from that that she had the attitude and experience of a "programmer," so I would say she was the first programmer, in the modern sense.

Wow, thanks for the link. Really interesting story, fascinating to think about what could have been if she hadn't died so young.
"It is desirable to guard against the possibility of exaggerated ideas that might arise as to the powers of the Analytical Engine. In considering any new subject, there is frequently a tendency, first, to overrate what we find to be already interesting or remarkable; and, secondly, by a sort of natural reaction, to undervalue the true state of the case, when we do discover that our notions have surpassed those that were really tenable.

The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform. It can follow analysis; but it has no power of anticipating any analytical relations or truths. Its province is to assist us in making available what we are already acquainted with. This it is calculated to effect primarily and chiefly of course, through its executive faculties; but it is likely to exert an indirect and reciprocal influence on science itself in another manner. For, in so distributing and combining the truths and the formulæ of analysis, that they may become most easily and rapidly amenable to the mechanical combinations of the engine, the relations and the nature of many subjects in that science are necessarily thrown into new lights, and more profoundly investigated. This is a decidedly indirect, and a somewhat speculative, consequence of such an invention. It is however pretty evident, on general principles, that in devising for mathematical truths a new form in which to record and throw themselves out for actual use, views are likely to be induced, which should again react on the more theoretical phase of the subject. There are in all extensions of human power, or additions to human knowledge, various collateral influences, besides the main and primary object attained." -- Ada Lovelace, 1842 http://www.fourmilab.ch/babbage/sketch.html

Ada Lovelace's father was Lord Byron?! TIL
Sadly for her she never knew him. The parents split up, he left England and she stayed with her mother. Byron died when she was just eight years old.
Look for Sydney Padua's comics for a lot of weird and strange facts about Lovelace and Babbage. (To be fair, Babbage was much weirder)
I was surprised to learn that as well.

I learned about it in Walter Isaacson's Innovators.

> because Babbage and Menabrea had previously created a few simple example programs.

That almost sounds to me like saying that the Wright brothers "made a few simple flights".

> first to invent foundational control flow structures such as loops

I wonder how sigma notation fits into this. Clearly the notion of expressing arbitrarily repeated operations using a fixed amount of information (which is what a loop is, essentially) was known at least to Euler.

Also, the fact that the machine enabled these things in the first place (unlike even some of the later machines such as Z3) suggests that its designer was either aware of this necessity to begin with, or at the very least in possession of preternatural prescience. In that case the use of these features in some programs but not in others would be not a matter of inventing them in the former programs but instead a matter of choosing to exploit existing hardware features, or declining to do so, depending on what program you're looking at.

> I wonder how sigma notation fits into this. Clearly the notion of expressing arbitrarily repeated operations using a fixed amount of information (which is what a loop is, essentially) was known at least to Euler.

You can even go further back. Algorithms with loops were known already to Babylonian mathematicians. So you don't need to resort to preternatural prescience.

The Z3 was not intended as a general computing device but as a practical help for engineers. Because of that you can't say it was missing something it didn't need to do its job. Whereas when Zuse designed Plankalkül loops and conditional branches where naturally included in the design.

> That almost sounds to me like saying that the Wright brothers "made a few simple flights".

Richard Pearse gets written off in the same way to elevate the Wright brothers flying accomplishments.

Pearse was just perusing powered flight as hobby in rural New Zealand, didn't bother informing the press and didn't bother even telling the government until WWII, 40 years later, about his flights and engineering designs.

https://en.wikipedia.org/wiki/Richard_Pearse

Not sure what improvement Pearse made over, say, Ader.
Pearse archived semi-controlled flight 300 cm above the ground verses Ader's uncontrolled ground effect flight 20cm above the ground.
I have no idea what is "a semi-controlled flight". Is it like "semi-riding a bike"?
Since the notes attributed to Lovelace were written as part of some scribe work she was doing for Babbage, what indication is there that the notes are her own original work, and not something that Babbage asked her to write? Don't get me wrong, she was clearly a very intelligent woman.
People that say Ada was the first programmer must think Babbage came up with the first general purpose computer then never wrote any instructions for it.

Maybe the first programmer who wasn't also a hardware engineer.

Defining the first person to do anything is almost futile. No one exists in a vacuum and most first were standing on the shoulders of technological accomplishments far outside of their own field.

That said, I'm sure in the case of Ada Lovelace there is at least some element of my misogyny involved.

Awkward typo.
>She didn't write the "first program" but she was the first to understand what computers would be capable of doing

Or merely the first to express it? I'm pretty sure Babbage himself, as the inventor, understood well what computers would be capable of doing.

He was focused on using his machines to efficiently generate mathematical tables. It was Ada who realized the potential of the analytical engine as a universal computer. She even wrote that given a good numeric representation for sound, one could program the analytical engine to generate algorithmic music based on mathematical rules. Babbage himself wrote examples of programs for the engine, but they were all very simple examples of numerical calculations that would be applicable for generating mathematical tables.
Well, the often inaccurate title of "first programmer", which clearly Charles Babbage was for at least his machine. Perhaps it would be better to describe Ada Lovelace as an early enthusiast / evangelist / adopter.
I'm not sure that inventors always understand the consequences of their inventions. Often, they are either focused on first-order capabilities and neglect the larger significance; or focused on visions of the future but unable to turn them into useful products in the short term.
Jeremy Campbell's The Grammatical Man would like a word with you on Lovelace actual documented contributions.