9.1 Direct machine programming
Early electronic computers were configured through cables, switches or numerical instruction codes. Programmers had to manage addresses, operation numbers and machine timing directly.
9.2 Symbolic assembly
Assemblers replaced raw numerical opcodes and addresses with symbolic names. This reduced clerical burden while remaining closely tied to one architecture.
9.3 Plankalkül and early language design
Konrad Zuse designed Plankalkül during the 1940s as a high-level formal system. It was historically important as a language conception but did not become an operational compiler system at the time.
9.4 Grace Hopper and A-0
Hopper developed A-0 for the UNIVAC environment around 1951-1952. It used symbolic references to select reusable routines and is frequently described as an early compiler or automatic programming system [1][2].
9.5 Algebraic translation experiments
Systems such as Laning-Zierler demonstrated that algebraic expressions could be translated for computer execution. These projects show that the compiler category emerged through several experiments rather than one birth certificate.
9.6 FORTRAN and production optimisation
IBM's FORTRAN team, led by John Backus, delivered a language and compiler for the IBM 704 in 1957. The compiler's optimisation was crucial because machine time was expensive and programmers doubted that automatic translation could match hand coding [4][5][6].
9.7 COBOL and institutional standardisation
COBOL emerged from a committee process involving government, manufacturers and users. Its business orientation, data descriptions and relative machine independence supported long-lived administrative software [7].
9.8 Compiler science
Parsing theory, intermediate representations, data-flow analysis, register allocation and optimisation became specialised fields. Frances Allen's work at IBM helped establish advanced compiler optimisation and program analysis [8].
9.9 Language ecosystems and portability
C, Pascal and later languages tied source portability to standard libraries and operating environments. BCPL and related languages contributed to this lineage [9].
9.10 Managed and dynamic execution
Virtual machines, bytecode, just-in-time compilation and interpreters blur the old binary between compiled and interpreted systems.
9.11 Contemporary language infrastructure
Package managers, reproducible builds, static analysis and continuous integration extend the translation chain. Modern software may depend on thousands of transitive components before source becomes running behaviour.