Bootstrapping is the problem of starting a certain system without the system already functioning. It seems just as impossible as "pulling oneself up by the bootstraps" which Baron Münchhausen, according to stories, could do. However solutions, accordingly called bootstrapping, exist; they are processes whereby a complex system emerges by starting simply and, bit by bit, developing more complex capabilities on top of the simpler ones.

Bootstrapping describes different things in several domains.

Table of contents
1 Computing
2 Linguistics
3 Biology
4 Electronics
5 Statistics


Bootstrapping is generally a longer term for booting, or the process of starting up any computer.

Bootstrapping can also refer to the development of successively more complex programming environments. The simplest environment will be, perhaps, a very basic text editor (e.g. ed) and an assembler program. Using these tools, one can write a more complex text editor, and a simple compiler for a higher-level language. and so on, until one can have a graphical IDE and an extremely high-level programming language.


Syntactic bootstrapping is the idea that children use syntactic knowledge they have developed to help learn what words mean -- semantics builds on top of syntax.


The idea of bootstrapping is significant in a number of fields in the biological sciences. The process by which a fertilised ovum develops into an embryo, particularly the way in which the nuclear genome is expressed differently in its various cells as these differentiate, is one example of bootstrapping. The evolution of progressively better adapted organs through natural selection in a lineage of organisms is another. Some biologists, including Graham Cairns-Smith, believe that the origin of life itself may have been a bootstrap process as one or more systems of biological information storage formed the foundation for successor systems that ultimately supplanted them culminating in the emergence of our current DNA-based system. For more details see the articles on embryology, ontogeny and phylogeny and RNA World.


The term bootstrap has a number of meanings in electronics. In classical analog designs, a bootstrap circuit was an arrangement of components used to boost the input impedance of a circuit by using a small amount of positive feedback. This was often necessary in the early days of bipolar transistors, which inherently have quite a low input impedance. The need for such arrangements has largely been alleviated by the use of modern FET designs, except when ultra-high input impedances are required.

Another meaning is in connection with the booting process of a computer or other complex system, where the underlying electronics must arrange for the orderly startup of the actval CPU and related electronics components. This is done long before the CPU is in a state where it can begin to execute software. Nowadays the bootstrap is coordinated by special integrated circuits that monitor the raw power supply and provide the relevant signals to enable the CPU and other chips accordingly.


In statistics bootstrapping is a method for estimating the sampling distribution of an estimator by resampling with replacement from the original sample.

See also booting.