Saturday, September 28, 2024

why compilers are called compilers

 An interesting tidbit from a recent IEEE Spectrum magazine https://spectrum.ieee.org/from-punch-cards-to-python: The very first "A-0 Compiler" literally compiled the program by pulling out its fragments from various tapes. As the article says:

But she needed a library of frequently used instructions for the computer to reference and a system to translate English to machine code. That way, the computer could understand what task to complete.

Such a library didn’t exist, so Hopper built her own. It included tapes that held frequently used instructions for tasks that she called subroutines. Each tape stored one subroutine, which was assigned a three-number call sign so that the UNIVAC I could locate the correct tape. The numbers represented sets of three memory addresses: one for the memory location of the subroutine, another for the memory location of the data, and the third for the output location, according to the Stanford presentation.

“All I had to do was to write down a set of call numbers, let the computer find them on the tape, and do the additions,” she said in a Centre for Computing History article. “This was the first compiler.”