Any concept in computing is inevitably an abstraction
of a more complicated concept underneath.
And if you think about using a computer-
you're clicking around on the screen
and the things that you are clicking on the screen
are widgets.
So, if we look at the title bar like this then
there's three buttons up here
those are widgets on the computer screen.
For most people, I think, that's where...
their understanding of computers begins and ends.
But, obviously when I push that button
that prompts the computer to go away
and do something.
How does it turn that input
into some electronic stimuli?
If everytime we wanted to describe
how the click button on the screen worked
I'd have to talk to you in terms of electrons
bouncing around inside a wire
and explain the quantum mechanics of a transistor.
Then it would take an enormous amount of time
and so...
instead of talking about quantum mechanics in a transistor
Iabstract that idea
and I say, "Look, the transistor is just a switch..."
"and that switch can be opened or closed."
And the electrons traveling down the wire
They're either there...or they're not there
which is a 1 or a 0
in numphile we talk about 1's and 0's a lot
so um..(laughing) we won't get back into that.
but it's just numbers traveling down wire.
Most computers are 32-bit and 64-bit these days.
We have a series of wires
-parallel wires- which run together;
and we give those a fancy name, called bus.
And so those 1's and 0's...
are traveling down the bus and they represent numbers.
And then it's a question of, "Well what do those numbers mean?"
Well those numbers....they come back to be
a computer program. Which is...
A series of very specific instructions.
It's still quite a big thing.
To ask somebody to start with a bunch of switches and 1's and 0's
and turn those into something which
takes two numbers and it adds them together.
Alright?
That is a difficult question.
And, so...
We take the switches and the 1's and 0's
and we turn those into...
things with logic gates.
Things which do...
simple...
human understandable instructions.
So...
and-ing two numbers together or or-ing two numbers together
Really, actually, quite simple concepts.
But the point is that
that you take the switches and you
abstract those into a gate.
You take the gate
and you abstract that into an instruction like...
add, or subtract, or muiltiply.
At the very end of all of this what we have is a
script; a computer program which is
human readable...
which...
can execute on the processor...
and draw a window, draw a button on the screen.
We've gone from a switch
and a series of 1's and 0's:
Electrons,
transistors, quantum mechanics
all the way to...
having pixels drawn on a screen
in - what? 5? 10 steps?
and, its simple layers of abstraction
and, it allows us to talk about computers.
at an appropriate level.
So, that we don't have to understand
all of quantum mechanics every time I want to draw a button on the screen
because it would just be unwieldy.
I have an iPhone, right?
I don't think that's going to be a surprise to anybody.
Although, by the way, I much prefer the windows phone.
And I know that my nephew's have got smart phones
and, I see a lot of kids using game's consoles and smart phones.
These things... [exhales in frustration]
don't encourage you to understand what's going on under the hood.
I mean here is a really slick piece of engineering,
and it's completely closed. It's a black box.
What we've done is
we've abstracted the concept of a computer
to the point where it's one single black box,
and I don't need to understand how any of this works.
All I need to know, and this is amazing, I mean...
plaudits to Apple for this
All I need to know is that this one button does everything.
I press this button ...
and it does everything. Which is a remarkable achievement.
That is what abstraction can do for you
That... it worries me as an engineer and as a scientist
that, if this is what kids are growing up with,
what is it that's encouraging them to ask the question,
"How does this work?"
Where's the new generation of engineers and scientists
and people who want to take this apart.
There's not even a screw I can take out.
Where are the people who want to take this apart
and see how this works going to come from
if there's not a screw that I can take out the back
and have a really good fiddle around inside?
I remember my Acorn Electron, its appeared in other videos -
"Isn't that satisfying"
- the biggest blocky-est piece of computer you could possibly imagine,
it had a terribly non-ergonomic keyboard
crucially, it had screws in the back
And I could take them out and I could open it up
and I could see how this thing worked
or I could begin to imagine how this thing worked
and that's what fired the imagination on an eleven year old James.
Today, I know, it's a really difficult thing to say,
"How do you take a child and you introduce them to the concept of the 1's and 0's
which are underlying the computer?"
I am a computerphile. I can't wait to do these videos
but we can't talk about
anything without first of all defining our terms, right?