The Art of Abstraction – Computerphile


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?

100 Comments

Add a Comment

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