What Is Abstraction in Computer Science

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ต.ค. 2024
  • What is this "abstraction" programmers talk about? Why is it important?
    Learn to code, the humane way → codexpanse.com/
    Support the channel via Patreon / rakhim

ความคิดเห็น • 103

  • @lukaszstocki6998
    @lukaszstocki6998 4 ปีที่แล้ว +74

    I think that was one of the best explanations of abstraction that I have seen. And I'm a programmer for about 10 years :) Good job!

  • @NCSUPackfan
    @NCSUPackfan 4 ปีที่แล้ว +27

    I LOVE U!!! LITERALLY THE BEST, SIMPLE, STRAIGHT FORWARD DEFINITION EVER!!!!!

  • @steverobertson2732
    @steverobertson2732 5 ปีที่แล้ว +34

    Excellent explanation and examples. Thank you for making this video!

  • @wittyhumour29
    @wittyhumour29 5 ปีที่แล้ว +6

    Excellent Video on the topic of Abstraction. Even as a developer there are so many abstractions, abstractions like protocols, operating systems, back-end/front-end Frameworks. Often times it gets difficult to filter out what is relevant and what is not. And yes go deeper into the topic.

  • @bpccmath251calculusiihitch4
    @bpccmath251calculusiihitch4 4 ปีที่แล้ว +4

    Well done, and entertaining! Thank you for the info and the interesting presentation style. (Loved the elevator interruptions. XD )

  • @themaninjork
    @themaninjork ปีที่แล้ว +2

    Very good! I knew a lot about abstraction in computer science, but you sumed it up nicely! Thanks

  • @rugbyreferee-smb
    @rugbyreferee-smb 3 ปีที่แล้ว +1

    The elevator interruption made me laugh out loud. Well done, excellent video.

  • @justcurious1940
    @justcurious1940 2 ปีที่แล้ว +1

    a few moths ago i saw a lecture about fundamentals of c++ and the teacher said when we are creating a variable we are abstracting a memory address his words kept looping in my head and
    i never understood what did he mean with that but now after watching the half of your video it clicked in my head and it start making sense
    "when we create a variable we are actually abstracting a memory address"
    thanks for the amazing explanation

  • @jayron5293
    @jayron5293 6 ปีที่แล้ว +4

    Missed your videos! Good to have you back.

    • @Codexpanse
      @Codexpanse  6 ปีที่แล้ว +1

      Thanks! Trying to get back on track.

  • @xenopholis47
    @xenopholis47 หลายเดือนก่อน

    I had been struggling with this concept wise and i am happy that I have clear understanding, Thank You

  • @andresmunoz6395
    @andresmunoz6395 5 ปีที่แล้ว +3

    Yes please talk more about the topic when is a useful abstraction and when is an error, now in my company we have an abstraction that I think is harder to understand than useful but the tech lead thinks different so more about the topic would be really useful

  • @KazutoF1
    @KazutoF1 3 ปีที่แล้ว +1

    Holy shit, my man u made everything so easy to understand. I thought this whole thing was way more complicated, but i guess not anymore. -CS Student

  • @LucasRodrigues-oh1jt
    @LucasRodrigues-oh1jt 4 ปีที่แล้ว +1

    Awesome video, very well structured and animated. Congratulations!

  • @pouyam700
    @pouyam700 ปีที่แล้ว

    you explained it perfectly. very good balance between jokes and explanation

  • @normanfrancis2365
    @normanfrancis2365 4 หลายเดือนก่อน

    You have done a good job!...Thank you. You should post another video on the details of abstraction.

  • @fhdhsni
    @fhdhsni 6 ปีที่แล้ว +24

    deeper please :) and thank you

    • @Codexpanse
      @Codexpanse  6 ปีที่แล้ว +2

      Thanks! Will go deeper soon.

  • @davidwan2488
    @davidwan2488 2 ปีที่แล้ว

    this is understandable for ppl who studied programming. for a general public audience, they may not have to know the compiler part explanation or use the switch to explain, juz simply tell them abstraction means a template apply on many other code may be fine

  • @poucxs9246
    @poucxs9246 2 ปีที่แล้ว

    I would love to see a video that goes deeper into the topic, thx for sharing this one already.

  • @szilviemailje
    @szilviemailje 3 ปีที่แล้ว +2

    This channel is just epic, love it

  • @rabitoblanco
    @rabitoblanco 3 ปีที่แล้ว +2

    "The history of computing is the history of adding levels of abstraction..."
    #brilliant

  • @TheTruthPls
    @TheTruthPls 6 หลายเดือนก่อน

    BEST EXPLANATION THIS WILL HELP ME ON MY AP EXAM

  • @Iambecome
    @Iambecome 4 ปีที่แล้ว +1

    Outstanding video, very clear and engaging - thanks!

  • @maxdetrickster6524
    @maxdetrickster6524 ปีที่แล้ว +1

    One caveat only - these are not illusions, these are representations. Very different concepts.

  • @talborenstein7900
    @talborenstein7900 ปีที่แล้ว

    That definitely abstracted abstraction for me-thanks!

  • @andresrios3525
    @andresrios3525 3 ปีที่แล้ว

    so in other words abstraction is basiclly to hide codes o programing fuctiones , that allows the user to work more efficiently in the programing process , very interesting.
    for one moment I thought that the definition would be more complicated.
    thanks for the video it really helped a lot

  • @davidkahan7618
    @davidkahan7618 4 ปีที่แล้ว +1

    Great explanation. Interested to know more!

  • @hopelina2181
    @hopelina2181 2 ปีที่แล้ว

    Thanks for the efforts making in this video . It was a really so helpful to understand abstraction . This video makes the information so easier than academic research.

  • @ValoranVale
    @ValoranVale 3 ปีที่แล้ว

    Very useful. You deserve more subscribers.

  • @alexb8455
    @alexb8455 8 หลายเดือนก่อน +1

    Yo this video is shown on the AP COMP SCI course for UC scouts

    • @rakhimd.5703
      @rakhimd.5703 8 หลายเดือนก่อน +1

      Nice! Is the curriculum available somewhere?

    • @alexb8455
      @alexb8455 7 หลายเดือนก่อน

      @@rakhimd.5703 Yea, but you have to pay like $400 for it, it's only really for students who need GPA boosts or AP courses

  • @bebeenus4157
    @bebeenus4157 3 ปีที่แล้ว

    This was extremely simple to understand, thanks to you.

  • @jar6595
    @jar6595 ปีที่แล้ว

    This was perfect. Keep up the great work. Thank you so much.

  • @kvelez
    @kvelez ปีที่แล้ว

    2:08
    This is so true, thank you.

  • @blyfo
    @blyfo 3 ปีที่แล้ว

    Best video on abstraction I've seen, thank you very much. Does anyone know if he made a deeper dive video? Can't see one but would love one.

  • @muhakmalulimanl9103
    @muhakmalulimanl9103 3 ปีที่แล้ว

    U absolutely need more subs. Here i give you one

  • @meowaves
    @meowaves ปีที่แล้ว

    Thanks I find this a breathaking view of abstraction without the academic jargon I always saw in the books

  • @samandarboymurodov8941
    @samandarboymurodov8941 ปีที่แล้ว

    Great explanation with nice examples

  • @adeomotayo4102
    @adeomotayo4102 ปีที่แล้ว

    Bro. This is so goooood. Thanks for the explanation!!!

  • @adolfomedina1774
    @adolfomedina1774 2 ปีที่แล้ว

    Great Explanation.. thank you, really made sense of this to me

  • @ericawang3518
    @ericawang3518 4 ปีที่แล้ว +1

    Hi. I was wondering what is considered a predefined abstraction. In scratch, are the purple blocks a predefined abstraction?

  • @JohnOchuro
    @JohnOchuro 3 ปีที่แล้ว

    Perfectly explained! thank you for this!

  • @jakobgarde6769
    @jakobgarde6769 ปีที่แล้ว

    This was such a good video! Thank you so much!

  • @iluvsyphonfilter
    @iluvsyphonfilter 2 ปีที่แล้ว

    Very good explanation on this topic!

  • @reemaalmalki5055
    @reemaalmalki5055 3 ปีที่แล้ว

    Man you didnt just make me think about cs but about life too, wow thank you!

  • @ehza
    @ehza 2 ปีที่แล้ว

    This is a fantastic explanation imo

  • @idc20627
    @idc20627 3 ปีที่แล้ว

    DID HE EVER GO DEEPER INTO THE TOPIC?
    Also, lol at being interrupted by the elevator, great info with great humor haha.

  • @ariwilsun
    @ariwilsun ปีที่แล้ว

    This was awesome. Thank you!

  • @gregmartin9583
    @gregmartin9583 2 ปีที่แล้ว

    This was a very helpful vid, thank you.

  • @altamashprime
    @altamashprime 2 ปีที่แล้ว

    Great video... Thank you so much!

  • @java_Marcelo-xx5nw
    @java_Marcelo-xx5nw 3 หลายเดือนก่อน

    Thank you for share!

  • @eslamasim8665
    @eslamasim8665 3 ปีที่แล้ว

    Well explained, thanks

  • @sona257
    @sona257 2 ปีที่แล้ว

    Hi
    I'm trying to understand what is High Level and Low Level Abstraction.
    In the video at 5:13 is "postToSocialMedia function" High Level Abstraction?
    Thanks
    I enjoyed watching this video. You put the fun into complex programming.

  • @TariqTheTutor
    @TariqTheTutor 4 ปีที่แล้ว

    thank you, it was a very well explained video. Good Job!

  • @alessandrob.g.4524
    @alessandrob.g.4524 4 หลายเดือนก่อน

    Hi, can you recommend books on this topic?

  • @lizageorge8923
    @lizageorge8923 4 ปีที่แล้ว

    This was so helpful, thank you!

  • @kentheengineer592
    @kentheengineer592 ปีที่แล้ว

    Bits Represent Signal Measurements Those Signals Are Measured Using Math, The Purpose of Using Bits Rather than Alternatives Is Because of a Math Problem Regarding Advance Algorithms & Errors

  • @bluemeaneyes
    @bluemeaneyes 2 ปีที่แล้ว

    great explanation

  • @TheShafted178
    @TheShafted178 ปีที่แล้ว

    1:20
    him: i will now proceed to deny the elevator it's existence
    elevator: no
    fr tho, nice video, thanks

  • @RanMC9918
    @RanMC9918 7 วันที่ผ่านมา

    arguing with the elevator was so funny

  • @ivanursulovic7033
    @ivanursulovic7033 3 ปีที่แล้ว

    Nice explanation

  • @malik5941
    @malik5941 ปีที่แล้ว

    great video! LOVED IT!!!!

  • @elpobrepablo
    @elpobrepablo 11 หลายเดือนก่อน

    Thank you for this

  • @andresrios3525
    @andresrios3525 3 ปีที่แล้ว

    but I have a question ? if an abstraction is a layer that hides codes of programing fuctions , the programmer developer would have to create it right ?

  • @dllm3tommy741
    @dllm3tommy741 ปีที่แล้ว

    Thanks for the video

  • @gleisxheli2282
    @gleisxheli2282 ปีที่แล้ว

    thank you very much!

  • @Danielsosat
    @Danielsosat 6 หลายเดือนก่อน

    Thanks, man!

  • @VagatorErro
    @VagatorErro ปีที่แล้ว

    thank you, helped me a lot!

  • @CB-dp7sq
    @CB-dp7sq 3 ปีที่แล้ว

    Thank you!

  • @samueloluwapelumi1077
    @samueloluwapelumi1077 4 ปีที่แล้ว

    You have earned a sub!

  • @yomumuasim14
    @yomumuasim14 2 ปีที่แล้ว

    Best explaination so far I found on youtube, thank God you saved me from indian videos ( sadly with no expaination/examples).

  • @zacharydefrancesco9932
    @zacharydefrancesco9932 3 ปีที่แล้ว

    Great video

  • @renilbabu7181
    @renilbabu7181 4 ปีที่แล้ว

    Awesome. Thanks

  • @themrgreatKarim
    @themrgreatKarim 4 ปีที่แล้ว

    thank you man you are great

  • @clearlyunwell
    @clearlyunwell 2 ปีที่แล้ว

    Beautiful!

  • @devonmcintyre9476
    @devonmcintyre9476 4 ปีที่แล้ว

    This was great.

  • @a21123
    @a21123 6 หลายเดือนก่อน

    Rip to those got lost in "abstractions in OOP's" while trying to find this topic

  • @kerrimurphy4314
    @kerrimurphy4314 5 ปีที่แล้ว

    Oh my gosh I'm glad I did not show my class this video. You are funny but I can't show that in school haha

    • @Codexpanse
      @Codexpanse  5 ปีที่แล้ว

      Could you elaborate please? :-) I could make a PG-13 version kind of thing...

    • @subomiyusuf1917
      @subomiyusuf1917 4 ปีที่แล้ว

      @@Codexpanse 1:30 lmao

  • @thesovietflaganthemguy2344
    @thesovietflaganthemguy2344 5 หลายเดือนก่อน +1

    Where the Digital Circus fans at

  • @lamalamalex
    @lamalamalex 3 ปีที่แล้ว

    They aren’t illusions. The relationships actually exist in reality!

  • @dimuthusudesh850
    @dimuthusudesh850 3 ปีที่แล้ว

    👍

  • @a7mdbest15
    @a7mdbest15 8 หลายเดือนก่อน

    alright, abstraction makes sense, bug polymorpism or whatever is called

  • @barshabhattacharjee6788
    @barshabhattacharjee6788 4 ปีที่แล้ว

    For more visit: th-cam.com/video/q2RgFH1rPos/w-d-xo.html

  • @rohankherath
    @rohankherath 3 ปีที่แล้ว

    👌🏻

  • @bes1desme
    @bes1desme ปีที่แล้ว +1

    Go deeper daddy

  • @marvenwilsonsdonque1568
    @marvenwilsonsdonque1568 6 ปีที่แล้ว

    FIRST COMMENT BABY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    • @Codexpanse
      @Codexpanse  6 ปีที่แล้ว

      Did you like the video though? :-)

    • @marvenwilsonsdonque1568
      @marvenwilsonsdonque1568 6 ปีที่แล้ว

      oh yeah, I hit the like, the subscribe button and the bill thing, thank you for this video by the way. :)

    • @Codexpanse
      @Codexpanse  6 ปีที่แล้ว

      Thanks!

  • @mishu002
    @mishu002 ปีที่แล้ว

    RT ID's

  • @MBen_Delphi
    @MBen_Delphi 3 ปีที่แล้ว

    Just a correction and modification of some concepts
    -------
    Abstraction is not that concept of showing or providing only the important things and hiding all unnecessary or complex details from the user (the programmer), as everyone thinks
    You kindly explained that Abstraction is to provide only what the user can get, in short, to provide only the Important points in the classes that will be instanciated using an Object, and this is unfortunately wrong....
    And if it was actually in this sense, the name would have been Only-Important-members or Hidding Data and so on...
    ---------
    In short, your concept is part of the definition of Encapsulation and not Abstraction, and it is very close to the concept of inheritance more than Encapsulation
    ---------
    Linguistically:
    Abstraction means intangible or imaginary or virtual or the opposite of Concrete which means tangible, real or active
    ---------
    Programmatically:
    It specifically means the Class and the Interface (interface is not available in all programming languages). The important thing is the Class in itself.
    And any Class in OOP is considered as a Template, Model, or Map of something in Reality. That thing may be real or imaginary, and as it may be tangible or intangible, it does not matter the Projection and how .... but it matters The Classes that will Ultimately Express an Entity, Component, or Object that we will deal with later....
    --------
    So Abstraction in OOP will be like that:
    Modeling the Real World. and No more than this Definition ..
    --------
    There are also inactive, intangible, or Abstract Classes that we call them Class Model, and they are somewhat similar to the Interface.
    This type has a directive of type Abstract and it does not accept instanciate with Objects, that is, it has no Objects to represent it (No Instances).
    And her task is Only to make a Model or Template for her children's that inherited from and finally can share members from base Abstract Classe.
    And this technique is also within the definition of the corner Abstraction
    And my concept here is in modeling and not in the role of the abstract class (because its role in terms of providing only what the sons classes can share as members and this is a part from the corner of inheritance)
    finally :
    Abstract classes is an Abstract Model for a Concrete classes Where this concrete will be a Models for some objects in our Real World...
    --------
    Interfaces are also a Model or Abstract that Classes use them in-order to benefit from those members in that Interface..
    So, Abstraction OOP is only about these three things in C Sharp, Java and Delphi and maybe C++ builder(because all of them have Interface as far as I know now)
    ------
    As for the definition that you explained in the video, it is related to Encapsulation and Inheritance rules and not Abstraction at All ..
    -----
    Abstraction is the first Step Rule of OOP Pillars wich is the Classes and Interfaces ...
    Abstraction is not more than a Modelling ...
    -----
    And thank you for your understanding ...

  • @Mr.beezet
    @Mr.beezet 4 หลายเดือนก่อน

    You should go more deeper sir

  • @amandoffl
    @amandoffl 5 ปีที่แล้ว +1

    I feel like if Oberin Martell was teaching me computer science which is great

    • @Codexpanse
      @Codexpanse  5 ปีที่แล้ว

      But... I like my eyeballs!

    • @amandoffl
      @amandoffl 5 ปีที่แล้ว

      Well let’s pretend that he killed the mountain and that didn’t happened hahaha

  • @dimuthusudesh850
    @dimuthusudesh850 3 ปีที่แล้ว

    👍