Bootstrapping (compilers)

Bootstrapping (including bootstrap ) referred to in the programming process to program with simple powerful development tools.

The simplest environment is about a very basic text editor and an assembler. With these tools one can write a more complex text editor and a simple compiler for a high-level language, and so on, until you have a graphical integrated development environment and a very high programming language.

Compiler for a programming language are often X X written in the same programming language (examples: Almost all C compilers, PyPy, Glasgow Haskell Compiler). This results in a chicken-and- egg problem: How is the new compiler compiles for the first time? Possible ways are:

  • Another compiler for X is written in another programming language Y.
  • Previous versions of the compiler were written in a subset of X for which there was a different compiler.
  • The compiler for X is cross compiled from a different architecture, on which a compiler for X exists.
  • The compiler was compiled by hand, and possibly afterward applied to his own source code. This means that a programmer brings the compiler in a hardware - detailed language, eg with the help of the instruction set architecture, assembly language, or earlier, to punch cards.
  • The compiler itself using an interpreter, written in another language Y, compiled.


  • Programming