What is a compiler?
A compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language). The original sequence is usually called the source code and the output called object code. Commonly the output has a form suitable for processing by other programs (e.g., a linker), but it may be a human-readable text file.
The most common reason for wanting to translate source code is to create an executable program. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine language).
How was the first compiler, compiled?
In 1954 work began on FORTRAN I- a language and system which established the foundations of compiler technology, set standards rarely achieved today, and, as a result, dramatically accelerated compiler development.
Early in 1954 the FORTRAN I project was formed by John Backus. A fundamental question posed by the project was “. . . can a machine translate a sufficiently rich mathematical language into a sufficiently economical program at a sufficiently low cost to make the whole affair feasible?” A major goal was to provide an automatic programming system which “. . . would produce programs almost as efficient as hand coded ones and do so, on virtually every job.” This seemingly impossible goal was met to an astonishing degree. In some cases it produced code which was so good that users thought it was wrong since it bore no obvious relationship to the source. It set a standard for object program efficiency which has rarely been equaled. The FORTRAN I compiler, begun in 1954 and completed in 1957, established modern compiler tasks, structure, and techniques. Indeed some of the techniques are still used in nearly the same form.
The compiler was developed for the 704, an IBM machine introduced in 1954 featuring built-in floating point and indexing capabilities. It compiled the FORTRAN I language which was defined as part of the project and evolved considerably as the project progressed. In order to achieve its efficiency goals, the high level arithmetic statements in the source program had to be translated so as to minimize storage references and, even more importantly, subscripts and their control had to make maximal use of the machine’s three index registers.
Source: The history of Language Processor Technology in IBM by F.E. Allen
A compiler is a computer program (or set of programs) that translates text written in a computer language (the source language) into another computer language (the target language). The original sequence is usually called the source code and the output called object code. Commonly the output has a form suitable for processing by other programs (e.g., a linker), but it may be a human-readable text file.
The most common reason for wanting to translate source code is to create an executable program. The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language or machine language).
How was the first compiler, compiled?
In 1954 work began on FORTRAN I- a language and system which established the foundations of compiler technology, set standards rarely achieved today, and, as a result, dramatically accelerated compiler development.
Early in 1954 the FORTRAN I project was formed by John Backus. A fundamental question posed by the project was “. . . can a machine translate a sufficiently rich mathematical language into a sufficiently economical program at a sufficiently low cost to make the whole affair feasible?” A major goal was to provide an automatic programming system which “. . . would produce programs almost as efficient as hand coded ones and do so, on virtually every job.” This seemingly impossible goal was met to an astonishing degree. In some cases it produced code which was so good that users thought it was wrong since it bore no obvious relationship to the source. It set a standard for object program efficiency which has rarely been equaled. The FORTRAN I compiler, begun in 1954 and completed in 1957, established modern compiler tasks, structure, and techniques. Indeed some of the techniques are still used in nearly the same form.
The compiler was developed for the 704, an IBM machine introduced in 1954 featuring built-in floating point and indexing capabilities. It compiled the FORTRAN I language which was defined as part of the project and evolved considerably as the project progressed. In order to achieve its efficiency goals, the high level arithmetic statements in the source program had to be translated so as to minimize storage references and, even more importantly, subscripts and their control had to make maximal use of the machine’s three index registers.
Source: The history of Language Processor Technology in IBM by F.E. Allen

