The Art of Abstraction - Computerphile

Поділитися
Вставка
  • Опубліковано 28 чер 2024
  • Abstraction is at the heart of everything to do with computing. James Clewett takes us through the layers abstracting the pixels forming this text on screen from the electrons in the computer.
    / computerphile
    / computer_phile
    This video was filmed and edited by Sean Riley.
    Computerphile is a sister project to Brady Haran's Numberphile. See the full list of Brady's video projects at:periodicvideos.blogspot.co.uk/...

КОМЕНТАРІ • 795

  • @666Tomato666
    @666Tomato666 11 років тому +136

    "I like Windows Phone"
    Wow, so he is the second user of it, now I know them all!

  • @scienceprimo
    @scienceprimo 11 років тому +254

    Q: "How do you take a child and introduce them to the concept of 1's and 0's and the logic gates"
    A: Redstone in minecraft. It's one of the best learning tools for experimenting with logic and abstraction in an engaging way.

  • @ataylortca
    @ataylortca 9 років тому +78

    I've always wondered how the computer ACTUALLY worked - all the information behind the many layers of abstraction. What if digital technology died tomorrow and we had to rebuild it from scratch? I'd have no idea how and am simply dependent, standing on the shoulders of giants, but with no awareness of the details of their work. This video was awesome in providing some initial answers as to how digital technology works.

    • @azakusilov
      @azakusilov 9 років тому +17

      There is nice book related to this topic - Code: The Hidden Language of Computer Hardware and Software by Charles Petzold.

  • @exiletomars
    @exiletomars 8 років тому +157

    I feel like things like Arduinos and Raspberry Pis and similar things will give kids excitement to get into computers and such.

  • @kennyrosas-mondragon8926
    @kennyrosas-mondragon8926 9 років тому +38

    As 19 year old and second semester of college I think the problem is that kids are not being exposed to stuff like programming or working with logic gates, The only reason why I started is because I took a class called Digital Electronics back in the 9th grade I got 34% in that class but was really blown away, how complex PCs where compared to what they used to be and what drives them so i got into C# programming I've spent the Past 4-5 Years know programming random stuff for fun and it's great :) Also my senior year i retook that class and got a 96% because I didn't fully understand Flip-Flops. :/

  • @passive_annihilation
    @passive_annihilation 11 років тому +9

    This hit the spot for me. I really feel like we're flying into this world of computing largely unprepared. The average user doesn't care how things work anymore. And while we can't all be specialists in everything, if we're going to depend on computers and use them and unconsciously trust them the way we already do, I think we all have a certain responsibilities to ourselves, at least, to be a little more informed.

  • @tastelesstouch
    @tastelesstouch 9 років тому +23

    It's interesting to note that the same people who made that acorn computer he shows at the end are the same people who created the ARM (Acorn RISC Machine) processor that's powering his iphone :)

  • @DivinityStripes
    @DivinityStripes 11 років тому +6

    I was emotionally moved by this video...
    Thank you, Brady and James!!! I love your videos and am loving this channel!

  • @CurtisDyer
    @CurtisDyer 11 років тому +1

    I've seen a lot of dubious introductions for teaching people about computer programming, but it seems like you guys are off to a great start with this channel. I really hope this channel takes off.
    I feel like channels like these are what's going to help younger kids get into more tinkering.

  • @unvergebeneid
    @unvergebeneid 11 років тому

    Being so specific about what your problems where will certainly help make future videos more accessible.

  • @amihartz
    @amihartz 9 років тому +14

    What first got me interested in computer science were those TI-84 calculators. With the TI-84 calculators, you can actually write machine code directly to it, or Assembly which is preferable, so you can get really close to the hardware and understand how the processor works. I became obsessed with it for awhile and one week I even wrote an audio driver where you could write out songs with music notes and duration in a PRGM file and then run the driver and it would play it through through speakers or headphones. The fact I could get so close to the hardware allowed me to interact directly with the hardware of other devices. I've always kind of been curious to how computers work internally as well as how the software works on top of it. It's a pain these days that getting close to the hardware is much more difficult than it has ever been. I loved the TI-84 because I could literally send controlled electrical pulses out the I/O put in Assembly and measure them on a voltmeter. Trying to do something on such a base level with a 64 bit computer these days out a USB port is nowhere near as comprehensible.

  • @Tastiestbeaner
    @Tastiestbeaner 11 років тому +1

    Great job guys on computerphile so far guys! I am really excited to see what other concepts you will be exploring.

  • @Semikami
    @Semikami 11 років тому +1

    I've grown up with things I didn't/couldn't take apart yet I've learned a lot about how computers work from low level assembly to high level languages and repairing or upgrading consoles and computers.

  • @AlphaCrucis
    @AlphaCrucis 11 років тому +1

    This channel is getting even more exciting! I was hoping for some Dr. Clewett videos.

  • @addictedAD
    @addictedAD 11 років тому +1

    i love listening to james! he explanes things so well... pleas more videos with him!!

  • @gremlinextreme101
    @gremlinextreme101 11 років тому +1

    I dedicated the last 3 years of my life to a computer engineering degree just so I could understand how to go from transistors to high level programming. Each layer of abstraction is taught as a separate class. Digital design, computer organization, compiler design and digital electronics are the subfields that cover the entirety of this transition.

  • @KN100
    @KN100 11 років тому

    By far the best Computerphile video so far IMO.

  • @maartenh94
    @maartenh94 11 років тому +2

    I love his passion for these things, inspiring.

  • @00Skyfox
    @00Skyfox 10 років тому +2

    That's what I love about my Commodore 64. I can take it apart, remove and swap components, fix problems with some soldering, tinker and see what it's thinking with an oscilloscope, and turn it on to that lovely blue screen and talk to it with a computer program that can make it do anything I want. Studying the schematic and seeing the waveforms on the oscilloscope is all incredibly fascinating.

  • @davidsweeney111
    @davidsweeney111 11 років тому +1

    I like this guy, he explains things well and will hold this whole channel together I suspect. Lets have more of him.

  • @FelixDegenaar
    @FelixDegenaar 9 років тому +12

    It's a pity that many Computerphile clips end, just at the moment an intriguing question gets asked. That's a missed opportunity.

  • @Adamant3Run
    @Adamant3Run 10 років тому

    Thanks for making an hour of my life a wonderful pursuit of knowledge I yearned for.

  • @unvergebeneid
    @unvergebeneid 11 років тому

    An episode on each of the most important abstraction layers would be a great extension of this episode.

  • @ciddknee
    @ciddknee 11 років тому

    Finally James makes his long awaited debut on Computerphile

  • @mmeah82
    @mmeah82 11 років тому +1

    Well said. Thank you for posting this. I started learning computer concepts in the 80s. Looking forward to more videos like this.

  • @ButzPunk
    @ButzPunk 11 років тому

    I love opening up my computer to have a look at all the circuit boards and whatsits. Sometimes, I just sit and marvel at how amazing it is that this complex system of switches can simulate entire worlds for me to enjoy.

  • @WizardChip
    @WizardChip 11 років тому

    This has been my favourite so far!

  • @Chavagnatze
    @Chavagnatze 10 років тому +30

    Older computers had big parts more non-static sensitive parts, were crudely assembled, and could be put back together. Today, everything is nanometric, full of tiny SMD, glued, has to be destroyed to be disassembled, and has high functional value. We also live in a sheltered society that is mostly affraid of mental exertion and anything that can be construed to be dangerous in any way. That isn't going to encourage absolute curiosity in some young people.

  • @LamdaComplex
    @LamdaComplex 11 років тому

    There needs to be more videos on Abstraction in computing and software. In the description it states that "Abstraction is at the heart of everything to do with computing". Which is probably the most truthful statement you can make about computing as a whole. Just this one video isn't enough.

  • @GoldTrousers
    @GoldTrousers 11 років тому

    I feel so at home with Computerphile. I've always been into computer science and I've been programming for years yet I've never known anyone i can have an educated discussion about computers with. I always feel like there is a magic people are missing out on by not understanding the fundamentals of computing and logic.

  • @anthony19735
    @anthony19735 11 років тому +1

    I have the feeling this is turning into 1 big story, where we are at the introduction, instead of just separeted, independent videos. Can't wait for the next chapter ;-)

  • @Anoryme
    @Anoryme 11 років тому

    The first computerphile video that I really enjoyed. Please, make others like this one!

  • @nadi106100
    @nadi106100 11 років тому

    I'm 15 and I'm extremely curious about computers and how things work...
    I went to the Technion (the Israel Institute of Technology) last year for a course for children and learned logics and binary (I worked with the software "Atanua") and I discovered a whole new world of numbers.
    Then I learned through UA-cam about other bases. Now, I'm watching this channel (as well as Numberphile - a great channel) and I'm learning the other sides of math and technology. Love your channels!!

  • @DudokX
    @DudokX 11 років тому

    Great work! I knew all things James said in this video but I think it is great introduction to more difficult topics so everyone can understand them.

  • @redsunrises8571
    @redsunrises8571 10 років тому +4

    Where are the people interested in how things work? Well, even i, a teenager am fascimated and mindblown that you could build a computer out of such limited parts and i want to know how. Those interested in how things work are right here, watching Computerphile :)

  • @SquareKiteGaming
    @SquareKiteGaming 10 років тому +7

    There have always been people that didn't care to understand the abstraction of underlying technology, and there will always still be a small portion of the population interested in taking things apart. Most people might have a iphone, but there are still teenagers interested in rooting their android phone(like me!).

  • @ultravidz
    @ultravidz 11 років тому

    Sounds really cool, I'll do that. I'm actually just starting out as an undergrad in computer engineering. I don't expect to get any sort of wold class education from these videos, but one can always stand to benefit from experiencing the unique perspectives of experts in these fields. Even for subjects in which I'm proficient, I always seem to discover new insights the more I look. It's quite humbling.

  • @EdPwnz
    @EdPwnz 11 років тому

    Taking apart a laptop and a desktop and trying to understand how pressing keys out here were transferred on the screen is what got me into Computer Engineering. First year and I can say, I can't wait to go back to school and see what we'll be doing next. I've learned a lot but i have much more learning to do.

  • @steffensmolka6680
    @steffensmolka6680 7 років тому +1

    Great video, very well explained. I think abstraction is the single most important concept in computer science.

  • @rafaelcnoe
    @rafaelcnoe 2 роки тому +1

    This video will be forever underated

  • @sammelief1
    @sammelief1 11 років тому

    This is freaking awesome!! More james please!!!

  • @kiklul
    @kiklul 11 років тому

    I really like where these videos are going! You should definitely do a video about logical operations on a physical and virtual level!

  • @miss1epicness
    @miss1epicness 11 років тому

    This video really brings fourth the argument that we should be teaching basic programming in schools. I got my first taste of computer science when I was a senior in High School and would never have known that I might have fallen in love with it if I hadn't taken some non-necessary class to fill my schedule.

  • @toufangle
    @toufangle 11 років тому

    I love this professor, please do more vids with him, I think he will be the James of Computerphile.

  • @Whateverworksism
    @Whateverworksism 11 років тому

    James is fantastic. Also love him on Numberphile.

  • @WeaselGreasel
    @WeaselGreasel 11 років тому

    So good, so true. Thank you for making this video and sharing your thoughts.

  • @WarpRulez
    @WarpRulez 9 років тому +18

    In the 80's and even the 90's, even the average computer user had a decent notion of things like files, file sizes, file types, the difference between files and directories, and so on. They could easily distinguish, for example, between a gif file and a jpeg file, and they had a good notion not only of the size of the file, but also whether it was a "big file" or a "small file" compared to other similar files. In other words, even the average user had a relatively decent understanding of the technical aspect of many things in the computer (such as files).
    Nowadays this is an almost non-existent concept, save for a very small minority of savvy users. Nowadays the average user might have an extremely _vague_ concept of what a "file" is, but will have no good concept of file types or their size. In fact, most users will never even know or understand what "file size" is, what the size of a particular file is, or even if they see it, what it means, or whether it's a "big" file or a "small" file. They simply don't understand what the number means and what its significance is.
    This has all kinds of side-effects, such as people sending multi-megabyte images through email, even though the exact same information could be compressed into just some tens of kilobytes. The user at no point will have any kind of concept of what's happening, and may well be completely unaware of whether the email is "really big" or not. This is something that was less likely to happen in the 90's because the average user was a lot more aware and knowledgeable about these things.
    Modern operating systems, especially Windows and Mac OS, are the culprits here. For some reason they have gone to extreme lengths to hide _everything_ from the user. File extensions and types, file sizes... everything. It seems that the less information the user is shown, the better. Nowadays the majority of users don't even know if a file is a gif, png or jpeg file, and have absolutely no concept or understanding about how "big" file might be (or even about the very concept of "file size"). It's just magic.

  • @BlackSuneEmpire
    @BlackSuneEmpire 7 років тому +32

    4:10 You worry way to much. Trust me there are loads of kids and adults too, who take things apart and find out how things tick. Great video though, ty!

  • @plasmibot
    @plasmibot Рік тому +1

    Looking back, It's facinating to see how far we've come. Now we have not CPUs or GPUs but DPUs, and massively advanced AI generation logorithms and software. It's cool to see the bingining of an old "revelation" in 2023!

  • @Sebi0043
    @Sebi0043 11 років тому

    This is what I expected from computerphile. The first really good and interesting video!

  • @PixelOverload
    @PixelOverload 10 років тому +7

    >What is it that's encouraging them to ask the question "How does this work?"
    Absolutely nothing, in fact it's telling them to do the exact opposite.
    However, that's exactly why they'll ask the question. The same kid who responds to an order to keep of the lawn by doing exactly the opposite, will respond to the implied "don't open me" of the black box by doing exactly the opposite.

  • @toobeetoobeetoo
    @toobeetoobeetoo 11 років тому +1

    Excellent video!! Thank you. Hopefully there will be a more footage video on this topic that details each level of abstraction. I realize a PhD professor could go into this topic to the Nth degree of detail, but I liked his approach. He talked about the roughly 10 levels of abstraction, well enumerate what they are please. That way, people who are interested in a particular part of the process will now have the words to start doing research on their own.

  • @poorsoulja
    @poorsoulja 11 років тому

    This is a great topic for discussion. Thanks for the video - keep up the good work!

  • @blanktester
    @blanktester 11 років тому +1

    I think I'm not alone in thinking this is starting to be closer to what we were hoping for from Computerphile. (Hey Brady, you don't need to put the channel name at the end of each video)

  • @Reosleoleo
    @Reosleoleo 11 років тому +1

    Being in all of this technology has made me ask this question. I love to know how things work. I'm 17, and studying to be an IT Technician. So no need to worry about that. Curiosity will naturally spring.

  • @2e3b
    @2e3b 11 років тому

    By far the best computerphile video so far imho.

  • @Falcrist
    @Falcrist 11 років тому

    It sure did it for me. I used to love taking things apart and looking at the circuitry underneath.

  • @ricodelta1
    @ricodelta1 11 років тому +1

    it's a good point
    and this idea of abstraction applies to just about everything, not only computers

  • @ihrbekommtmeinenrichtigennamen
    @ihrbekommtmeinenrichtigennamen 11 років тому

    I am very pleased by this episode. Thinking about how something works is a lot of fun. I like to imagine how other programs I see work. Unfortunately more frequently I find myself in the situation where I think "How is it able to calculate that?" And then my head starts to hurt and I say to myself "I should stop thinking about it and appreciate the fact that it works."

  • @ashwith
    @ashwith 11 років тому

    Seeing how the ending went (about how current devices don't encourage exploring how things work), I really can't wait for your Raspberry Pi videos (hope you cover other boards too)! Please do something on computer architecture as well.

  • @jasonbucy
    @jasonbucy 11 років тому

    To answer your question, I think it's videos like these that make me interested in engineering and explore more.

  • @SapphireCrook
    @SapphireCrook 11 років тому

    My interest for computers comes from a lot of things! From my amazement over my dad's (now ancient) Windows 93 computer, to the collection of circuit boards and naturally, the fact that computers aren't able to defy your programming because it doesn't have external influences (looking at you, science).
    Even today, I carry a childish wonder over the rapid and unimaginable achievements that occurred since my birth! I grew up riding that wave. Now I feel old. XD

  • @GRiM_aZoR
    @GRiM_aZoR 11 років тому

    A truly great video.

  • @mckennacisler01
    @mckennacisler01 9 років тому +7

    I'm really worried about that too. And it's only going to get worse, both with hardware black boxes and in software ones...

  • @TheLuckySaGe
    @TheLuckySaGe 11 років тому

    through a specific setup of switches you can get logic statements like "or" or "and". It's hard to tell you in a comment section because a picture illustrating how this can be achieved is much easier to understand. Essentially you place transistors (which determine a 1 or a 0) together in a specific pattern to create a logic gate. A logic gate is just a specific setup of transistors which produce a particular logical outcome.

  • @ultravidz
    @ultravidz 11 років тому

    This is what Computerphile should be about, more of the pure fundamentals of how computation actually works. I would personally like to learn more about how Hardware and Software communicate with, and control one another.

  • @GenericRubbishName
    @GenericRubbishName 10 років тому +2

    I think it's easier than ever to get started programming. Decent C compilers and tutorials are available for free on the internet. Most of the scripting languages have friendly communities accommodating for beginners.

  • @Falcrist
    @Falcrist 11 років тому

    Excellent explanation of abstraction. When I try to explain it, people often get confused.

  • @amusik7
    @amusik7 11 років тому +1

    Great discussion towards the end of the video! I have been worried about the same thing for years - as technology has become so amazing as it has, it really doesn't encourage people to understand how it works anymore. All of my friends have smartphones but none of them has ANY clue of how it work. As a kid we used to dissemble computers with my friends because you had to do it if you really wanted to use one. Nowadays all you need is a finger. This will be a problem in the long run.

  • @DeoMachina
    @DeoMachina 11 років тому

    I recently covered this topic at college, blew my mind. Even a calculator is pretty complicated, so the devices we use today are just impossible to truly concieve of.

  • @picknikbasket
    @picknikbasket 11 років тому

    Best Computerphile to date.

  • @vwabi
    @vwabi 11 років тому

    Layers of abstraction: (there are multiple answers, this is just mine)
    1: Seeing pixels on screen
    2: Programming code
    3: Assembly
    4: Machine code
    5: Logical switches
    6: Electrical engineering
    7: Electrons
    8: Quantum mechanics
    Each of these is a huge step, which is why it's so amazing we've achieved it all in such a short time (early 70's is when computing really started)

  • @billy653
    @billy653 11 років тому

    More videos with James please he's so awesome his lisp is cool aswell

  • @squiffyk7
    @squiffyk7 9 років тому +19

    I don't understand the worry here... I grew up curious of how computers worked without having old clunky equipment with screws that I could look inside of. I understood how electricity could make a light bulb function, but working electricity to make a computer function which seemed incomparable was enough to make me curious as to how computers work and eventually lead to me studying computer science. I would have been just as curious if I grew up with just a smart phone

    • @Quantumoprh
      @Quantumoprh 8 років тому +9

      +squiffyK7 *"The most remarkable thing about the future is probably the idea that you will call our time even the good old days."*

  • @BioshadowX
    @BioshadowX 11 років тому

    I hope to study engineering, mostly computers in college, but unfortunately what I can now do in high school is extremely, extremely limited. Really wish there were more people like you in my life and around the world that would encourage and give opportunities to kids to learn and explore how things, like great devices like the IPhone that practically everyone has, work.

  • @OwonaVivienD
    @OwonaVivienD 11 років тому +1

    The system used with redstone in Minecraft has actually been closer to the reality, than you may think. In real life, gates, flipflops and latches need to be "wired" to each other actually, and "wires" always have an intern resistance, which dissipates the power of binary signals; if their power is too low, then signals can't be processed. On the other hand, it's really realistic that the more stimulated a sensor gets, the more power it puts out.

  • @AlexanderEVtrainer
    @AlexanderEVtrainer 11 років тому +1

    He really hit close to home with me on this video. I've always been the "how does it work" sort as well, and one of the biggest mysteries of computers for me has always been how does the physical world translate into the cyber world. More and more these days its wifi this and cloud that, and it's getting harder to learn just by handling "real" stuff.

  • @recklessroges
    @recklessroges 11 років тому

    Thank you. The first link is really good.

  • @PixelOutlaw
    @PixelOutlaw 8 років тому +7

    I really appreciate what you said about phones.
    People go and spend $500 on a device that is a closed black box then go off and brag how tech savvy they are.
    Being able to operate a device designed as a closed appliance with the most non technical person as the target audience will never give deep understanding into the most basic building blocks of computing.
    A grandchild that is "good with computers" may not be educated about them. They are not tech savvy. They simply are not afraid to make mistakes and so they learn more about the user interface.
    Technology is not a phone, computer, or tablet.
    Technology is *knowledge* that makes it possible to make them.
    Computer science is the study and advancement of that knowledge.
    I'm certain the low level stuff is mostly lost in the sea of quickly written web apps, using flavor of the week frameworks rotting from within.

  • @LimitedWard
    @LimitedWard 11 років тому

    I'm a part of that new generation and I've already asked all these questions (and more). I think there's still hope for us.

  • @diedie5
    @diedie5 11 років тому

    I remember when I was a kid and was taking apart my first computer, but I liked learning how to put one together much more! Nothing like it.

  • @EpicCraftVince
    @EpicCraftVince 11 років тому

    He reminds me of the cook, Heston Blumenthal. The way he looks like he loves his job and the way he uses his hands to explain things :)

  • @raydredX
    @raydredX 11 років тому

    I absolutely love how physicists manage to sneak in every channel.

  • @LeviG
    @LeviG 11 років тому

    Nice video, with great points towards the next gen

  • @DJLad16
    @DJLad16 11 років тому

    I always love to know how things work. From computer programs/computers all the way to things like how would they have done that special effect in a movie

  • @andreasnold1987
    @andreasnold1987 11 років тому

    Brilliant as allways ...thx

  • @keniangervo8417
    @keniangervo8417 11 років тому

    I would definitely want to hear more about the quantum mechanics involved in the inner workings of a transistor, bus or anything!

  • @ultravidz
    @ultravidz 11 років тому

    Looks like great stuff, thanks!

  • @AaronCZim
    @AaronCZim 11 років тому

    James Clewett is my favorite person Brady talks to.

  • @Cammymoop
    @Cammymoop 11 років тому

    Yes! keep them coming

  • @Paul_Ivanish
    @Paul_Ivanish 10 років тому +4

    This is the kind of thought that should be labeled as "philosophical engineering" applied to technology... and if recurred backwards into "philosophical reverse-engineering", the topic yields endless dividends in the realm of scientific curiosity. ;)

  • @SaikouHD
    @SaikouHD 11 років тому

    There's nothing more satisfying than dismantling something to see how it works :)

  • @TheLostSorcerer
    @TheLostSorcerer 11 років тому

    I was expecting something a bit different when I saw the title. I was expecting abstraction at a software level, as a stepping stone towards more videos. Still this was interesting. Can't wait for more.

  • @MaxTheDragon
    @MaxTheDragon 11 років тому

    People seem to expect a programming channel, rather than a computer science channel. Hardware abstraction is just as much part of computer science (and therefore, this channel), as software abstraction.

  • @Adamant3Run
    @Adamant3Run 10 років тому

    I'm a part of a generation growing up with technology and I see the problem you have mentioned among my peers. People have taken technology for granted and not many of us really care. But fear not! Due to wonders like UA-cam and Wikipedia the seed of curiosity will be planted and a new generation of engineers will rise. Hopefully me among them. :)

  • @ChristopherSamuelson5
    @ChristopherSamuelson5 11 років тому

    Great topic, abstraction is crucial. Really good video; explains at a high level why computers are so user friendly such that the uninitiated can understand it. Doesn't even look at the surface of the topic, however.

  • @tedchirvasiu
    @tedchirvasiu 11 років тому

    Love this guy. He would be a fantastic teacher.

  • @JUICEPPL1
    @JUICEPPL1 11 років тому

    Funny you should say that, I ran into minecraft about a year ago and played the game out of fun. I quickly learned about redstone and got into redstone engineering. It taught me many things like logic, wiring and a new form of thinking. This made me interested in circuits and electricity. It also got me thinking about programming in java. All in all, if you promote creativity you can get people to think.

  • @un2mensch
    @un2mensch 11 років тому

    The honourable professor James seems to be editing C source in vim in a PuTTY session. I approve!

  • @bigglessy
    @bigglessy 11 років тому

    Your words have inspired me. I'm going to attempt to teach basic programming to my younger brother.