6 ms·
Grace Hopper didn't invent the compiler in the sense that we understand the term now (a semantics preserving translation from a source language to a target lang
by mafribe 10y ago
Grace Hopper didn't invent the compiler in the sense that we understand the term now (a semantics preserving translation from a source language to a target language). What her team did, was to produce a linker, the A-0_System.
It is also wrong to say that Hopper is
"largely the reason coders no longer need to write in ones and zeros". K. Zuse's Plankalkuel [2] is from the 1940s, and the first high-level programming languages. And formalisms like the lambda calculus or mu-recursive functions are even older, Turing complete and hardly based on 0s and 1s.
It's also wrong to say without Lovelace we might not have computers, or indeed that she was the first programmer. Humans have been working on automata (that evolved into computers) by making them more powerful, e.g. the Antikythera mechanism [3]. It's also wrong to say that Lovelace was the first programmer. As far as one can see from the notes, she helped Babbage write down, and popularise his ideas.
[1] https://en.wikipedia.org/wiki/A-0_System https://en.wikipedia.org/wiki/A-0_System
[2] https://en.wikipedia.org/wiki/Plankalk%C3%BCl https://en.wikipedia.org/wiki/Plankalk%C3%BCl
[3] https://en.wikipedia.org/wiki/Antikythera_mechanism https://en.wikipedia.org/wiki/Antikythera_mechanism
- tomlock 10y agoInterestingly, Plankalkuel was predated by Ada Lovelace's notes on calculating Bernoulli numbers. Then for Lovelace, lets go back even further. Mathematics itself already contains the base principles that enable the formalisms of lambda calculus. Additionally, the Antikythera mechanism was predated by many admittedly more crude but still important calculating mechanisms like the abacus. So its wrong to say that those automata would have existed independently. Its almost as if everyone's work is built upon the work of those before them and wouldn't be possible otherwise. Does that invalidate their achievement?
- x1798DE 10y ago> Its almost as if everyone's work is built upon the work of those before them and wouldn't be possible otherwise. Does that invalidate their achievement? I think that "x wouldn't have happened without y" statements in questions of scientific discovery are almost always false, at least partially for this reason. In some ways it does invalidate their achievement, to the extent that they are portrayed as being the sole agent of radical change when, in all likelihood, they are just the person who got there first (and often by a slim margin, as the history of scientific priority disputes shows).
- lorenzfx 10y agoOn the other hand, the competition makes their achievement even more valuable because they were in a race and got there first.
- deepnet 10y agoPrimacy of publication, unfairly in many cases, is histories yardstick. Sometimes so great a leap is made that the 'great thinker' model applies. It is generally highly useful to examine the context surrounding groundbreaking ideas for neglected valuable insights.
- mafribe 10y agoOf course science evolves in small increments. The point of my original post was to be an antidote to the extreme hyperbole of "3 women who radically ...", and to set the recored straight.
- tomlock 10y agoStrange that you use the word antidote. Did this article seem particularly poisonous? I'm not seeing it.
- deleted 10y ago[deleted]
- calinet6 10y agoCertainly they were still influential figures who contributed greatly to the field regardless.
- deepnet 10y agoIn Ada's case I demand she deserves more credit. GP is right to insist she did not invent the 1st programmable computer, Baggage did, yet I argue she wrote the 1st program. Historian's rightly test the hypothesis of Lovelace's primacy in our field. I show she was the both the 1st to publish and contend her overall vision was greater than her contempories. Babbage's, never built, Analytical Engine was programmable with punch cards and Ada published a program to compute Bernoulli numbers - it is uncontested this is the 1st published program for the Analytical Engine. Some have argued, by analysing her other correspondences that she had not the wit to conceive such a program and only transcribed. I argue this is both mean spirited and so uncertain as to be unsound. Uncertain because her other correspondence must have reflected contempory mores. Both the egos involved & the strict gender expectations of the time, that for 'health reasons' a 'too clever' woman should face censorship. Further she must have used every means at her disposal, charm as well as ability, to win such prestigious position. Unproven because she certainly was well versed in Mathematics, her mother ensured she was mathematically educated, so she certainly understood Bernoulli numbers. Her greater achievement, IMHO, was to envision the porention of the Analytical Engine. Babbage's Analytical Engine was devised, capable of computing different tables, programmable with other arithmetics, tides, artillery. Ada saw beyond mere arithmetic to all numbers could represent: algebra (& thus meta-programming) and t he imaginative arts. She envisioned the engine computing music, poetry and pictures, which implies creativity & thought , proto-A.I in idea. This extraoridinarily prescient vision is quoted by Turing himself as a direct inspiration. Perhaps Babbage speculated we have no record; Lovelace published and that's what counts. Her actual words leave (me) little doubt she grokked computation is kin to cognition. http://nlcatp.org/30-incredible-ada-lovelace-quotes/ http://nlcatp.org/30-incredible-ada-lovelace-quotes/
- deepnet 10y agos/ Baggage/ Babbage/r (no snark intended, error) s/ envision the porention of/ envision the potential of/r
- mafribe 10y agoit is uncontested this is the 1st published program for the Analytical Engine. Babbage constructed the AE to execute programs, so he would certainly have written some. Bernoulli numbers are old hand have been calculated since antiquity. I imagine that B. propose this program to L. the strict gender expectations of the time, The gender expectations today are that men ought to genuflect to women, whence your posts here. She envisioned the engine computing music, poetry and pictures, which implies creativity & thought , proto-A.I in idea. It's worth pointing out that the idea to have automata make music, and more generally for automata to be creative, predates Lovelace, Music making automata were a staple of the renaissance. For example the mathematician and astronomer Johannes Kepler, when visiting the "Kunstkammer" of Rudolf II in 1598, was amazed at an automaton representing a drummer who could "beat his drum with greater self-assurance than a live one" [1]. Incidentally, Kepler corresponded with Wilhelm Schickard on the latter's "arithmeticum organum", the first ever proper mechanical calulator (could do addition, subtraction, multiplication and division). Automating creativity was very much an idea with much currency in the renaissance. Indeed some of the key advances in mechanical automata, which later evolved into computers, where driven by the desire to automate creativity [2]. The "conceptual leap" that some people lazily ascribe to Lovelace, wasn't hers! Using numbers to represent syntax (what you lazily attribute to Lovelace too) is much older and can be found for example in Leibniz's 1666 "Dissertatio de arte combinatoria", where one finds a detailed exposition of a method to associate numbers with linguistic notions. I have no idea if Leibniz was the first to do this. Leibniz also built some early calculators/computers, and is thus a cornerstone of the tradition that lead to the emergence of computers. This tradition was known in Babbage's time, and most likely to Babbage. In the light of all this, I remain convinced that Lovelace helped Babbage to write up and popularise his ideas. [1] W. Zhao, Rendering the Illusion of Life: Art, Science and Politics in Automata from the Central European Princely Collections. [2] D. Summers Stay, Machinamenta: The thousand year quest to build a creative machine.
- deepnet 10y agoYour detailed focus misses the big picture. You could easily be read as conveying that Hopper didn't invent the compiler and compilation. This is not correct. Hopper both invented the concept of compiler and wrote the 1st one. In 1952 Hopper's A_0 compiler transformative to the prevailing wisdom that computers were only programmable arithmatical tabulators. Hopper (like Lovelace) envisaged meta-programming, that numbers could represent algebras & transform code itself, i.e. compile. So she rightly deserves the accolade. Assembly language was 1955 so Hopper wins. Plankalkül was unpublished & before general purpose programmable computers (ENIAC) were built so irrelevant. A_0 was the first working program to transform source code to binary program and distinguish between the two. Before that 1s and 0s were entered by programmers punching cards so neither is that article assertion incorrect. Times, roles & meanings were different then. Programmers were not allowed near computers but submitted punch cards to Operators. Computer still meant automated calculator, usually a person. Program was programme and not a verb yet. Correct to say that then all that was needed was a linker and that at today's scale a linker not the whole of compilation, but still a vital part. Hopper also used her position to lobby succesfully for her idea and create standards for machine independent languages that became COBOL, on which banking still runs today. She had the idea, the 1st implementation & made it a success. That she coined the term bug to communicate all types of errors & faults to superiors is still transformative today. Using computer in the old sense of calculator, not its contempory sense of general purpose computer is also too narrow, why not just say Abacus rather than Antikythera ? Your point [2] is interesting but irrelevant, Plankalkül was unpublished, it was a tool of thought not a computer program.
- mafribe 10y agoHopper both invented the concept of compiler and wrote the 1st one. No. A_0 was a simple linker in 2016 parlance, not a compiler. In Hopper's own description: "All I had to do was to write down a set of call numbers, let the computer find them on the tape, bring them over and do the additions. This was the first compiler" (cited from [1]). Here "find them on the tape" refers to her habit of collecting subroutines over the years and put them on tape. Each routine was given a call number, so that it the machine could find it on the tape. I'm happy to believe that she created the first linker, although I have never looked into the history of linking and linkers. Plankalkül was [...] before general purpose programmable computers (ENIAC) were built so irrelevant. The first general purpose computer was Zuse's Z3, at least in some understanding of this concept [2]. [1] C. Marx, Grace Hopper: The First Woman to Program the First Computer in the United States. [2] R. Rojas, How to Make Zuse's Z3 a Universal Computer.