3 ms·
Your 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.
by deepnet 10y ago
Your 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.
- deepnet 10y agoThanks for the info, Zuse is fascinating. Z3 is very impressive, telephone relays were much more reliable than the valves used in Bletchley's Collosus by Tommy Flowers. Failing valves prevented Collosus working until Flowers showed valves failed when powered off and so Collosus ran without cessation. Wonder why Flower's didn't use relays, he was a telephone engineer so was familiar with them.