What is bootstrapping?


It originates from 19th century America and is frequently used in the phrase “pull oneself up by his bootstrap” as an example of impossible thing.Wiki

My first encounter

I first heard of bootstrapping is during a statistics class when we are learning how to estimate an estimator(such as population mean). It will “augment” the data by sampling the original data with replacement.

For example, if we have 100 people and we want to know the average height of people on Earth, we will sample with replacement of group of 5 and get a bootstrap sample.

This group of 5 is called bootstrap sample. In a usual statistical analysis, we will compute many bootstrap sample and find their estimator(in our example, that’s the mean). The distribution of the estimator will provide us with an estimate of the true distribution.

bootstrapping in CS

Bootstrapping is a very powerful idea in CS. It usually building something complex gradually, starting with little resource and simple code.

Booting is a shorthand for bootstrapping

“In general, bootstrapping usually refers to a self-starting process that is supposed to proceed without external input. In computer technology the term (usually shortened to booting) usually refers to the process of loading the basic software into the memory of a computer after power-on or general reset, especially the operating system which will then take care of loading other software as needed. ” Another wiki page

Boot(strapp)ing in starting a computer

Bootstrapping in compiler

How do you get the first compiler in C? We have multiple options here:
You can write it in B and compile it. Then we can write and compile another compiler in C and discard the compiler compiled from B.

Another option is to bootstrap it. Just like bootstrapping, its pretty “Chicken and egg”. The first LISP compiler is hand-written and assembled in LISP!

For more, please check here: Bootstrapping in compiler

Why I write this post

Because I was installing a software and while installing it ( and it is still installing as of the time of now), the word bootstrapping showed up quite a lot in the terminal.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax