3 ms·
The Education of a Computer, Grace Murray Hopper. http://xover.mud.at/~marty/iug2/p243-hopper.pdf http://xover.mud.at/~marty/iug2/p243-hopper.pdf I'm not sure
by CalChris 10y ago
The Education of a Computer, Grace Murray Hopper.
http://xover.mud.at/~marty/iug2/p243-hopper.pdf http://xover.mud.at/~marty/iug2/p243-hopper.pdf
I'm not sure what your objection is but she wrote this in 1952 and specifically used the words compiling routine.
- detaro 10y agoIt's worded like she invented a language called "compiler", not that she worked on the first compiler for a programming language.
- CalChris 10y agoAn errant comma.
- skissane 10y agoThe actual name of the programming language I believe was A-0 - https://en.wikipedia.org/wiki/A-0_System https://en.wikipedia.org/wiki/A-0_System If you look at that paper, she gives an example of the language on figure 9 of page 248: 0 b0i I(1,2,3,4,5) 1,2,3,10,6 1 apn 1,10 4 2 x-e 4 5 3 amc 6,1 7 4 ts0 7 8 5 am0 5,8 9 6 yrs 1,9 0(1,2) 7 aaL 1,2,3 1 8,1 8 ust (I hope I copied the above correctly, the table is a bit hard to interpret.) It looks rather like assembly language. Except that the mnemonics in column 2 aren't actually assembly opcodes, they identify subroutines written in machine code. Variables are represented by numbers. The third column is used for input arguments, the fourth for output arguments, the fifth for control flow. It was a "compiler" in the sense that it read the program and wrote out machine code for each instruction to (a) move input arguments from the variables according to the calling convention (b) make the subroutine call (c) move the output arguments back to the memory locations for the variables. Very primitive, but I don't think anyone else in 1952 was doing any better. (Other 1950s languages look far more modern – such as LISP and FORTRAN – but they were developed 4-5 years later.)
- astrodust 10y agoThirty years later they added some curly braces and called it C! Mostly kidding, but this is an important step. Assembly, as it came to be known, was one of the first "high level" languages because you could multiply two numbers without having to know the exact opcode for multiplying.
- cwp 10y agoThe objection is that she was not "on the team". The ran the team and wrote the papers. It was her project, and she deserves credit for more than merely being present.