As the Digital equivalent of the
dilemma of the chicken and the egg.
Which came first? Okay.
Alright. And I was as confused as that.
The reason its called bootstrapping
Is that it comes from an old tale of literally pulling yourself up by your boot straps.
So that way in which you would actually get something started is that you would pull yourself up with your bootstraps.
and that bootstrapping sequence is the thing
that starts that process.
One of the hardest bits of doing Computing
is that you ultimately have to recognise, that there comes a moment
when you can't understand it all.
You can't understand the thing that you are building
is so complex that it doesn't all fit in your head.
Okay?
Thats the hardest and most difficult moment I face
I've ever faced. And it's the bit that everybody kind of doing Computing, Struggles with.
It happened to me when I learn't about Compilers.
Now Compilers are the things which take the programming languages that we have
and translate that programming language, into the sequence of instructions that run, at the chip, on that computer.
Okay?
So they go all the way from a high level programming language like Java
down to the machine codes that you might be running on.
Here's what it kind of gets difficult on this one. You're gonna have to bear with me on this one.
And as the digital equivalent of the dilemma of the chicken and the egg. Which came first?
Okay
All right
And as I was confuse in that. Okay.
And so you will write something in a language, say for example,
You write something in one of the language, let it be java
And you write things in java
And it has a particular style of writting
"if", you know, if statements
a whole set of things
but how do you start?
where do the first language come from?
and how do you get there
it is that moment of complexity
that almost feels like magic
ok, because it works
And it teach you where to figure why it works
And it feels quite allusive
Bootstraping is
is a means by wich
we can allow
our software systems to exist
independent of the machines that they're running on.
Without things like bootstrap and without compilers
You'd essentially have to rewrite programs
and replicate
all the instructions for every machine that you'd ever built; Ok,
or every family of machines.
so if you, if everything stayed at the level
of ones and zeros and flicking switches
you'd have to have a different sequence
of flicking switches
for every machine that exists in the world
and that gets tiresome at best
but virtually impossible given the complexity and the size we've got.