HOW was the FIRST COMPILER, COMPILED?
Compiler: - a compiler is not one piece of software. It starts out with a lexical, then a parser … and ends with the assembly code which the linker takes to map virtual add to the physical addresses. So, basically, it’s a tool which checks for syntax and semantics of a language, creates the code readable by the machine.
A compiler is a specialized computer program that converts source code written in one programming language into another language, usually machine language (also called machine code) so that it can be understood by processors (i.e., logic chips).
Source code is the version of software (usually an application program or an operating system) as it is originally written (i.e., typed into a computer) by a human in plain text (i.e., human readable alphanumeric characters).
First was machine code: – first programs written directly in the hardware’s machine code
Then was assembler: – A program written in machine code to interpret asm into machine code.
Then was a compiler: – A set of programs (lexical analyser, parser linker etc) which could convert source code to assembler/machine code.
The “first” compiler was created by Rear Admiral Dr. Grace Murray Hopper in 1949. The compiler, written in assembly language, converted symbolic mathematical code into machine code.
By 1949 programs contained mnemonics that were transformed into binary code instructions executable by the computer. Admiral Hopper and her team extended this improvement on binary code with the development of her first compiler, the A-O. The A-O series of compilers translated symbolic mathematical code into machine code, and allowed the specification of call numbers assigned to the collected programming routines stored on magnetic tape. One could then simply specify the call numbers of the desired routines and the computer would “find them on the tape, bring them over and do the additions. This was the first compiler,”
It should be pointed out that the original ‘compilers’ were closer to what we would today call a linker, i.e., a tool for combining existing libraries into a program. The name came from the fact that they ‘compiled’ the libraries into a single binary image.
Admiral Hopper believed that the major obstacle to computers in non-scientific and business applications was the dearth of programmers for these far from user-friendly new machines. The key to opening up new worlds to computing, she knew, was the development and refinement of programming languages – languages that could be understood and used by people who were neither mathematicians nor computer experts. It took several years for her to demonstrate that this idea was feasible.