Object-oriented Programming in 7 minutes | Mosh

Sdílet
Vložit
  • čas přidán 1. 06. 2024
  • Get the COMPLETE COURSE: bit.ly/2keDCna
    4 pillars of object-oriented programming: encapsulation, abstraction, inheritance and polymorphism.
    Subscribe for more videos:
    / @programmingwithmosh
    Want to learn more from me? Check out my blog and courses:
    codewithmosh.com
    programmingwithmosh.com
    / programmingwithmosh
    / moshhamedani

Komentáře • 1,3K

  • @dizelvinable
    @dizelvinable Před 4 lety +2328

    Finally an example of OOP without a car! Thank you!

  • @chrisaga6253
    @chrisaga6253 Před 2 lety +378

    1:02 Encapsulation
    3:29 Abstraction
    4:41 Inheritance
    5:27 Polymorphism

  • @bapple7844
    @bapple7844 Před 3 lety +244

    Computer scientists: "ah yes this is an implementation of polymorphism and encapsulation"
    Also Computer Scientists: "This some spaghetti code right here"

  • @talidan3421
    @talidan3421 Před 4 lety +1618

    Memory trick: "Oops I ate A PIE"
    A - Abstraction
    P - Polymorphism
    I - Inheritance
    E - Encaspulation
    thumbs up to help someone out

  • @PavanKumar-pn2tc
    @PavanKumar-pn2tc Před 2 lety +27

    Encapsulation : grouping related variables and functions operating on them. (Reduce complexity)
    Abstraction: hiding complex data and methods from user (simple interface)
    Polymorphism: many forms .. to avoid long if else statements RENDER
    Inheritance: inherent the qualities of a code (to remove redundant code)

  • @xxxxxGhostBoyxxxxx
    @xxxxxGhostBoyxxxxx Před 2 lety +961

    God level explanation. Like seriously. I was a graduate in Software Engineering but when I watched this like a revelation to me. LOL. thank you good sir.

    • @shivashishpal7321
      @shivashishpal7321 Před 2 lety +5

      Same feeling here

    • @bolt2009
      @bolt2009 Před 2 lety

      How

    • @imantodeinkhilafat856
      @imantodeinkhilafat856 Před 2 lety +20

      You will never understand the level of your God. God is one who make everyone. God is Allah

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety +2

      Hopefully you caught some of the mistakes. Not sure God would makes those types of mistakes. I found two and only watched a couple of minutes of it this time.

    • @blackberry5908
      @blackberry5908 Před 2 lety +6

      The OP comment is so cringe.

  • @aroxing
    @aroxing Před 3 lety +299

    For me encapsulation is not only about storing properties together and decreasing number of arguments, but what is more important it is all about HIDING implementation details and PROTECTING code from random access. At the same time abstraction is about ignoring unimportant parts of objects providing only essential interface for 'outer world'.

  • @paisleybunk9352
    @paisleybunk9352 Před 6 lety +30

    Finally a video explaining OOP that is well organized, thorough, and applies it to real programming examples. THANK YOU.

  • @erikschiegg68
    @erikschiegg68 Před 5 lety +1974

    Hey,
    if you you watch the video in double speed, you master oop in even three and a half minutes!

  • @FiReOaNdDeMoS2121
    @FiReOaNdDeMoS2121 Před 4 lety +76

    OMG everything just clicks and makes so much sense, thank you for making this video

  • @thallesaraujo7814
    @thallesaraujo7814 Před 5 lety +542

    I have tried many times to understand what object oriented programming really is. This was the first successful try. Thanks and congrats for the very high quality video!

    • @danny3036
      @danny3036 Před 4 lety +6

      100% Agreed - Great job Mosh Thank you.

    • @srikanthpen3250
      @srikanthpen3250 Před 3 lety +2

      Just go through the libraries and the namespaces used in linux code. Thats the best way to understand OOPs. When C++ compiler can covert that c code and layout into OOPs only then we can totally understand how OOPs is being handled.

    • @meghnaverse
      @meghnaverse Před 3 lety +1

      @@srikanthpen3250 where can we learn that from? I mean what would you recommend?

    • @Lana-gi7ox
      @Lana-gi7ox Před 3 lety

      100% agreed!!

    • @sagessemusic5391
      @sagessemusic5391 Před 2 lety

      You need to learn more about Java animation and Graphics

  • @julianagrutzmann2223
    @julianagrutzmann2223 Před 3 lety +15

    What a simple and illustrative way of explaining OOP. I love your videos, Mosh. Keep up the exceptional work!

  • @zarakhaliq6163
    @zarakhaliq6163 Před 3 lety +14

    I just looked at so many different explanations of OOP for my interview prep including the "simple for even a child" freecodecamp explanation but this one is by far the best one! Great work. Thanks :)

  • @robertstimmel1100
    @robertstimmel1100 Před 3 lety +7

    Great video! I am trying to teach myself C# and I really struggle to research certain things when I get stuck because I don't know the name of the concept that I need to look into. This video lays a lot of the groundwork in simple and concise terms. Thank you!!!

  • @Broughtvulture
    @Broughtvulture Před 5 lety +5

    This video cleared up the fog I had when it came to Object Oriented programming. Thanks man. It feels like I've broken down huge barrier.

  • @andreisas9649
    @andreisas9649 Před 4 lety +1

    This is the simplest, precise and easy to understand explanation I have found until now.

  • @spaceageexp8679
    @spaceageexp8679 Před rokem +3

    I'm currently in Programming II at my college which is specifically an object oriented programming class. This video really helped me see what my current class is about. Thanks!

  • @geetapatil2680
    @geetapatil2680 Před 6 lety +36

    Hi Mosh..
    Really your videos are smooth understandable...Thanks

  • @mccama19
    @mccama19 Před 4 lety +8

    Thank you for focusing in this one topic, I've been having a hard time wrapping my head around this. Your video really helped.

  • @mehrshadsoltani1165
    @mehrshadsoltani1165 Před 4 lety +20

    you're insane man. i'm reaaaaaly proud of having a compatriot like you. you know our difficulties from iran. for example i can't buy your tutorials. so i will be reeeaaallly thankfull if you publish more contents with us.

  • @georgechristovich6239
    @georgechristovich6239 Před 2 lety +4

    Nice work. I have no doubt that you are a competent programmer, but more importantly as a teacher, you are a gifted presenter. I usually have to watch tutorials at 1.75 - 2.0 times normal playback to keep from stabbing my eyes out. Your tutorials are actually enjoyable at normal playback speed. Thank you.

  • @rany21
    @rany21 Před 5 lety +13

    Well done. Thanks for sharing this content. Simple and easy to follow.

  • @matychp
    @matychp Před 4 lety +2

    The best explanation about the 4 pillars of OOP that I watched in my life, ty Mosh!.

  • @noo-sho8500
    @noo-sho8500 Před 5 lety +2

    Finally someone explains it casually and clearly! Thanks a lot!

  • @harbisetyonugroho2312
    @harbisetyonugroho2312 Před 2 lety +3

    Thanks, Mosh! I learned a lot! I just learned to code recently, but I am really passionate about it. I hope I can always be a better programmer over time.

  • @m.u.550
    @m.u.550 Před 6 lety +20

    What a brilliant Video! Thank you!

  • @poloska9471
    @poloska9471 Před 5 lety +2

    Very grateful for your work on this clear, pleasant and informative video. I am new to programming and decided to start off by learning Python. When I began learning about it I found out it is a object-oriented language and scratched my head not understanding what that even implies... After watching this video, I can now go back to learning with clarity. Thank you! Subscribed and thumbs up!

  • @aaronstone_9965
    @aaronstone_9965 Před 3 lety

    This was so needed. There's tons of material out there explaining OOP. But usually the explanation is either vague or a bit impractical. Congratulations for not beating about the Bush and yet not missing anything important.

  • @wittyhumour29
    @wittyhumour29 Před rokem +7

    Encapsulation is just not about making variables private, it is much more. It is about
    breaking up the application into different logical and organized parts. So that you can
    change one part without generally changing all the other parts. Therefore encapsulate
    the parts that vary from the parts that remain the same.

  • @sumant9189
    @sumant9189 Před 4 lety +3

    My God...
    7 minutes and alot of things in detail.
    Thanks Mosh.

  • @jak9777
    @jak9777 Před 5 lety +2

    I understood more about these concepts in 7mins than 2 hours with my teacher. Thanks!

  • @hasancheckman416
    @hasancheckman416 Před 4 lety

    Best description among many and many text books and papers that I have read or videos I have watched. Thank you Mosh!

  • @ilyakortasov2637
    @ilyakortasov2637 Před 5 lety +42

    I have been Googling these concepts almost all day yesterday. Now this short video and that is it, I get it now :) I guess you made my day!!!

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety +2

      The harsh reality is, though, that you probably don't understand from watching this video to pass an OOP exam. It takes years to get to a professional level of understanding of OOP. It's a major dedication, as opposed to something that can abstracted and encapsulated into a short video. And that's not even telling you that this video contains errors, despite the speaker's voice being very confident.

  • @ShunguRocks
    @ShunguRocks Před 2 lety +3

    Thank you Mosh, I really enjoyed this concise and clear video. I understand what OOP is now and can’t wait to get to that topic in my learning. I have just started learning to code in Python.

  • @JotoheKian
    @JotoheKian Před 3 lety

    I don't even know why I'm watching OOP-oriented videos - I was simply searching for UE4 Blueprints tutorials, so only loosely related topic - but that was a very solid explanation. Thank you, I'm glad I've watched it.

  • @user-cy3je1xd1c
    @user-cy3je1xd1c Před 4 lety +1

    That's the best video I've ever seen about OOP. Here I found lot of info I coudn't find at other sources! Thank you so much!

  • @tiffanymclean4
    @tiffanymclean4 Před 4 lety +8

    I love your videos! There always so easy to follow and understand. This one definitely didn't disappoint!

  • @voodoochili12
    @voodoochili12 Před 5 lety +3

    Best example of encapsulation I've ever seen, thank you

  • @hugopfeffer4175
    @hugopfeffer4175 Před 4 lety

    Your sketch showing object property as variables and methods as functions really sparked a light in my brain. Thanks.

  • @gregsonnawahin6251
    @gregsonnawahin6251 Před 3 lety +1

    To be honest, I like every tutorial of you on programming. In PNG the university dont have such a lecturer that can explain in the lectures room the way you explain in all your upload tutorial its amazing.

  • @muhammadamir4964
    @muhammadamir4964 Před 6 lety +42

    Mind Opening, Informative, pactical

  • @martynaskir7852
    @martynaskir7852 Před 5 lety +7

    One of the best explanations about the subject. Well structured and easy to follow.

  • @jaytin3932
    @jaytin3932 Před 2 lety +1

    Thank you so much for this, the video is about object oriented but it also made me understand what an structured program is. This is also incredibly easy to understand.

  • @raandomplayer8589
    @raandomplayer8589 Před rokem

    5 years and still a very good explanation. Bravo!

  • @juliorodriguez4946
    @juliorodriguez4946 Před 5 lety +3

    flawlessly explained. Thank you, Mosh.

  • @N00B283
    @N00B283 Před 5 lety +10

    This video just made me pass my exam in structured system development course at my university (y)

  • @kennethweerasinghe6501
    @kennethweerasinghe6501 Před 4 lety +2

    I am trying to learn some programming and your video presentation is wonderful!
    Thank you !

  • @_blackmesa
    @_blackmesa Před 2 lety +1

    the BEST channel for programming explanation. even the easy english words are explained!

  • @HCEveningWalk
    @HCEveningWalk Před 5 lety +177

    Wish f**king college textbooks were as short and straightforward! Thanks for the upload Mosh!

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 5 lety +6

      You just want things to be easier than they are. You are probably the type that is going to lie on your resume.

    • @metaparalysis3441
      @metaparalysis3441 Před 4 lety +2

      @tiluu you mean people that created child labour

    • @Heisenberg355
      @Heisenberg355 Před 3 lety +27

      @@HOWYOUDOIN884 I partly agree, but I've seen many times, that teachers and professor deepdive into very subtle details before explaining the whole picture simplified. This is not how you teach things. A video like this before getting into details would help many people understand topics way faster and better

    • @angelomartino4667
      @angelomartino4667 Před 3 lety +3

      @@Heisenberg355 exactly

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety

      @@TomCruz54321 I didn't miss the point of what the guy was saying: "College text books are too hard". OOP takes years to get good at, assuming one's brain is worthy of the challenge and the commitment. And yes, I'm tired of people lying on their resume claiming to be good at OOP, when in reality they were just intrigued by a fancy CZcams video and have just dabbled in writing classes . I saw one misuse of the word "interface", and then jumped a little past half way and found another mistake @ 4:39 (confusing abstraction with encapsulation). So as pleasing as it may appear to a newbie, they easily could walk away misinformed. It's easy to be attracted to easy material, indeed, but it's also easy to be misinformed and not realize it. That's my complaint about the majority of people who quickly fall in love with an educational video, not realizing the information is not quite right. I think people should read OOP books written by authors with well-established expertise, and not be so attracted to fancy youtube vids.

  • @MrValdesbg
    @MrValdesbg Před 2 lety +8

    This is the first ever video that I watch about OOP, in fact this is the first ever information I learn about the OOP. Honestly speaking - I grasped the general idea. After watching it two more times I think I understood the concepts. From a single video from the first time. Thank you, Mosh! Thank you for braking down the complex matter into easily digestible bite sized bits.

  • @takeuchi5760
    @takeuchi5760 Před rokem +2

    This was very good, I read 5 different explanations of OOP before coming here, I had the basic idea about the terms but it's definitely clearer now, what each term actually means.

  • @kenfranklin9344
    @kenfranklin9344 Před 5 lety +1

    Excellent video! This was the straight-forward and precise explanation I was looking for!!

  • @adeelkhan9636
    @adeelkhan9636 Před 5 lety +3

    your way of teaching .....awsome man..very well explanation..!!

  • @kuyafrex480
    @kuyafrex480 Před 5 lety +12

    I'm already applied these concepts in my code without even knowing the terms for that. At least now I know

  • @davidmuchirahondo8104
    @davidmuchirahondo8104 Před 4 lety

    Thank you Mosh. Much love from Zimbabwe.

  • @beatrizassumcao1728
    @beatrizassumcao1728 Před 2 lety

    This is the best OOP explanation i've ever seen. Thank you so much for that!

  • @leonelp9593
    @leonelp9593 Před 4 lety +5

    i officially declare this as the best POO intro i ever saw in my life
    thankssss so much my friend!!

  • @hs_harsh
    @hs_harsh Před 6 lety +5

    This is only of the best one can find! Thank you so much. :)

  • @benw408701
    @benw408701 Před 5 lety +1

    Wonderfully concise and clear explanation of the topic!

  • @nptt3589
    @nptt3589 Před 2 lety

    Absolutetely incredible explanation. I thought I had a pretty good understanding of OOP until I watched your video. Now I really understand it. Thank you very much friend!

  • @Andrea-np3dh
    @Andrea-np3dh Před 5 lety +45

    This is the best, clearest explanation I've seen so far... Thank you!!!

  • @Farreach
    @Farreach Před 4 lety +26

    as a CS major who is in my Senior year.. this is a great clean & concise explanation on the basics of OOP...I came to this video for a refresher since this is material we went over my first year ....I rarely use OOP but i definitely should ..would of made my life at Uni so much easier

  • @matt96533
    @matt96533 Před 2 lety

    2.23 - "they are decoupled". This really helped my understanding. Thanks

  • @onuryilmaz5919
    @onuryilmaz5919 Před 2 lety

    Perfect explanatory video even for beginners. Thank you for this high quality piece!

  • @shsoh6726
    @shsoh6726 Před 3 lety +5

    Mosh, I read lots of OOP books, you just extracted all the useful contents out of it and translated it in simple words with no jargon. Damet warm.

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety

      But you didn't notice the glaring mistakes? The part on abstraction is about 99% wrong.

  • @ifstatementifstatement2704
    @ifstatementifstatement2704 Před 4 lety +22

    Been programming for 22 years and going to try OOP for the first time. Looks like it will make my programming easier in some aspects. All this time I got away with procedural programming and my current job (programming automation) does not need me knowing OOP but I hope to get a job in software engineering, and I feel OOP is a must to master.

    • @eritert
      @eritert Před 7 měsíci

      How is it going now?

  • @gabrielferrin
    @gabrielferrin Před 5 lety +1

    Other courses make it so much more complicated to explain what here has been plainly expressed. Congrats!

  • @mr.logicpants2835
    @mr.logicpants2835 Před 10 měsíci +2

    Mosh is AWESOME. He was made to be a good teacher. You RULE Mosh! 😛

  • @btkcodedev
    @btkcodedev Před 2 lety +157

    With Encapsulation: Resides Object oriented programming backbone of encapsulating data and functions into single unit called object
    With Abstraction: We reduce the impact of change in other objects
    With Inheritance: We can eliminate redundant code
    With polymorphism: We can refactor codes according to different types in simple manner

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety +1

      You got the definition of Abstraction wrong, and your definition of Polymorphism is not quite right. You wouldn't be refactoring anything to achieve poly.

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety

      Those aren't very good definitions, though. Your definition of abstraction is incorrect. And polymorphism can be acheived before any "refactoring".

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety +2

      @@kcs3248 But that's not really what polymorphism is. You don't have to refactor anything, and who knows what in the world he meant by "according to different types". Types of what? One of his other definitions was also not right. Just be careful what you read if you are trying to learn OOP. There's a lot of impressive-looking videos about OOP and many of them are wrong.

  • @SteveUrlz
    @SteveUrlz Před 5 lety +5

    Came with low expectations, but it was actually really good, tnx

  • @ihspan6892
    @ihspan6892 Před 4 lety

    Very well done. It actually makes a lot of sense the way you presented it.

  • @drauryn7516
    @drauryn7516 Před 3 lety +1

    This quick summary provides good foundation combined with calm soothing voice. TOP

  • @7Trident3
    @7Trident3 Před 4 lety +3

    That was a lot of info to cram into 7 min. Bravo!!!!

  • @niteshkumarsukumaran
    @niteshkumarsukumaran Před 4 lety +3

    Polymorphism : you gave the best example with inheritance 🔥🔥🔥 many of them will never appreciate it...

  • @njourawebdev
    @njourawebdev Před rokem +1

    You just helped to understand oop after two years of university in just 7min!!!! I will blog about this in my future blog app for suree

  • @yaredc5222
    @yaredc5222 Před 4 lety

    Thank you. I have a better understanding of what Object oriented programming is now

  • @benzymatic
    @benzymatic Před rokem +31

    Woah that DVD player metaphor is outstanding. I’ve been really struggling with wrapping my head around OOP but that metaphor really helped things click for me. Well done, and subscribed! Looking forward to checking out your python vids!

    • @clerpington_the_fifth
      @clerpington_the_fifth Před rokem

      yep, you can think of the dvd player as a class, and the buttons on the dvd player as methods inside that class

    • @togfanatic3781
      @togfanatic3781 Před 8 měsíci

      ​@@clerpington_the_fifth thanks but what are the properties ?

  • @roopashree3545
    @roopashree3545 Před 5 lety +18

    This is the best video on oops that I watched till now . Thank you Mosh. You made our life easy by showing oops s this easy to understand 👏👏

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 2 lety

      But in reality, you couldn't watch this video and pass a test over OOP. Not to mention the mistakes in the video, where he uses the wrong word, like "abstraction", which has nothing to do with reducing impact of change. So in reality, just because this video made you feel good, you have a long road ahead of you to become an expert at OOP.

  • @MarcMcRae
    @MarcMcRae Před 4 lety

    This helped..a LOT! Clear. no muss, no fuss.

  • @rajeshkumarmahto3106
    @rajeshkumarmahto3106 Před 4 lety

    Thanks Mosh... earlier i was having problems in understanding abstraction concept but now it is clear...👍

  • @hixamjocular6591
    @hixamjocular6591 Před 5 lety +4

    very accurate video for understanding OOP Thanks a lot sir Mosh

  • @cheriecheung4164
    @cheriecheung4164 Před 5 lety +3

    Very clear and you make the subject interesting! :)

  • @jayhu6075
    @jayhu6075 Před 4 lety

    This is the explanation that i been waiting all the time.
    Hopely more continuation tutors about methods and properties, attribuut.

  • @petsandpaws8906
    @petsandpaws8906 Před 2 lety

    I can say nothing but. Thank you for sharing your knowledge with those that want to learn programming.

  • @SimpleLangSolution
    @SimpleLangSolution Před 5 lety +25

    That was so beautiful. I love you.

  •  Před 5 lety +2

    "We can change or modify one of the methods and it will not impact the rest of the code" - famous last words ;) Class extending, sharing "this" all around the place, mutating the state - that's all the consequences of OOP and it WILL impact the whole program. Granted - it's all about the patterns. But we all know how you can end up with "Spaghetti" code even with OOP. Not to mention presented "Procedural" programming claims should be also contrasted with Functional Programming since Procedural would focus highly on imperatives rather than abstraction functions. Beginners could easily confuse Procedural with Functional at this point.
    With that being said - thanks for gr8 video :)

  • @ambicabanchode2581
    @ambicabanchode2581 Před 2 lety +1

    Never really understood these concepts until now. Thanks Mosh ! :)

  • @leonjones7120
    @leonjones7120 Před 2 lety

    Thanks very much for explaining the underpinning of OOP. I get this. i have read books to describe this but this is the clearest I have seen anywhere. Thanks!

  • @FredoCorleone
    @FredoCorleone Před 6 lety +503

    Perfect for a coffee break ;)

    • @ThingEngineer
      @ThingEngineer Před 5 lety +13

      HA agreed, that's exactly what I was doing while watching this. Great video for new comers or to recap OOP basics! THX

    • @manudelmarche
      @manudelmarche Před 5 lety +12

      A coffee break that's less than 30 minutes ain't a real coffee break.

    • @daanielacosta2395
      @daanielacosta2395 Před 5 lety

      Indeed

    • @denisblack9897
      @denisblack9897 Před 5 lety +10

      you should relax and breath fresh air on coffee break, for fucks sake man

    • @zeevlogs4250
      @zeevlogs4250 Před 4 lety +1

      Yeah!! Similar thing happened with me

  • @southern_smacker
    @southern_smacker Před 5 lety +5

    Amazing... I never found such easy and to-the-point explanation of OOP Principles as Mosh described in only 7 minutes.

  • @faisalahmed9434
    @faisalahmed9434 Před 5 lety +1

    Simply undebatable!
    Great content.

  • @rocco2162
    @rocco2162 Před 3 lety

    Wow it's such a good detailled revision video!!! how can someone easily assemble all the imp details in 7 mins ☺

  • @matthewnaylor8792
    @matthewnaylor8792 Před 3 lety +7

    Mosh is just handing me a free education better than my college

  • @ilhamakhyar4849
    @ilhamakhyar4849 Před 4 lety +17

    i liked this video so much, it's really informative and perfect explaining

    • @roarznz
      @roarznz Před 4 lety

      Yeah, Mosh is great at explaining things

  • @eprofengr6670
    @eprofengr6670 Před 5 lety +2

    Great points. Thanks for sharing.

  • @marinamonastirsky1671
    @marinamonastirsky1671 Před 3 lety +1

    Thank you Mosh! I will have my first IT interview today :D

  • @skilz8098
    @skilz8098 Před 4 lety +11

    C++ gives you all of those benefits, plus procedural when need along with lambdas, functions pointers, function objects and templates consisting of function templates, class templates, and variadic templates... but c++ also gives you the added benefit when a set of classes that are related can reference or modify internal protected or private members by labeling them as a friend. This doesn't account for the fact that C++ is a strongly typed language, and has various storage type classifiers such as static, const, mutable, inline, etc... Modern C++ also has constexpr which is a very useful precompile feature.
    Suppose you have a class called Motor this could be a nested class within a Car class, however, you might want the Motor class to be an independent class because you can have a motor in a Boat, a Bike, Train, Plane, ATV, or it can even be an electrical motor to some kind of power tool. So in this situation, your base Motor class would be complete abstract, then your VehicleMotor class would derive from that. Then your derived Vehicle class objects such as a Car would have friend access to the VehicleMotor class so that it can change its internal properties such as HorsePower, NumberOfCylinders, etc. Now the Vehicle Motor class might not be able to access the Car's private members directly but could be a friend to access its private methods or its protected members...
    This doesn't even account for the preprocessor directives and macros. Yes, many people frown upon Macros, but in some contexts and if done carefully and correctly, they can make for good text expansion and replacement. I wouldn't rely on them for setting or changing values, or passing data types around, but they can still be useful.
    With the current release of C++20 in which I do not have a current compiler as of yet, we are now being introduced to Concepts, Coroutines, Modules and more! It's just that with C++ you need to know what you are doing as C++ will allow you to write code to shoot yourself in the foot as long as it compiles and links and provided you don't have any run time errors or crashes. You can still have memory leaks, dangling pointers or references, invalid pointers, and references, etc. Other things such as out of bounds indexing or accessing memory that doesn't belong to you will cause unhandled exceptions. Knowing when to cache something into a local variable within its a specific scope or stack frame is vital compared to knowing when to put something on the heap. Dynamic programming is good in many contexts but one has to be careful, that's why the standard library is so versatile with its containers and algorithms, smart pointers, etc.
    C++ gives you almost all of the concepts of OOP without the garbage collection of C# and Java with very minimal overhead and more. It is also considered a lower layer of the high-level languages next to C and Objective C, any lower and you'd be working with ASM. It is very fast and efficient and when done correctly, the source code for the application or the program is practically invisible as modern C++ compilers are excellent at what they do and are only improving. They aren't completely perfect as they do have bugs, but they can generate object code or assembly code much better than you can! They will utilize specific operating system functionality and CPU instructions in manners that you would never think of! Their error messaging systems are becoming much better along with their linker and debugger tools.
    I've messed around with C# a little, JavaScript a little and Python but when it comes to the type of programming that I'm into doing such as 3D Graphics Rendering Engines, Hardware Emulators, Sound Processing, Compiler Design, etc. this is where languages such as C, Objective C, and C++ excel above your high-end languages.
    If you're looking to do something quick and fast such as an online interactive program for quick access and basic functionality then yes, by all means, Java, JavaScript, C#, Python and others are perfect for the job. However, when you are writing the backend, frameworks, libraries, server code, etc. that's where these languages are usually preferred.
    This is why C++ is considered a multi-paradigm language! It can still work like C, it has the ability to inline assembly blocks as their own scope within a function for optimizing loops, etc. the capabilities such as C# and Java without the overkill of the garbage collection, and it isn't restricted to have everything as a class or an object or a smart pointer behind the scenes such as seen in Python, C#, or Java. However, it is a strongly typed language which makes it a great tool to master!
    Happy Coding!

    • @muhammadshoaibmushtaq5693
      @muhammadshoaibmushtaq5693 Před 2 lety +1

      Bro, Wtf? You tryna scare me?

    • @skilz8098
      @skilz8098 Před 2 lety +1

      @@muhammadshoaibmushtaq5693 No, not at all, just pointing out some of the benefits of the language. Don't get me wrong, there are also cons, but the pros outweigh the cons by a huge advantage!

    • @muhammadshoaibmushtaq5693
      @muhammadshoaibmushtaq5693 Před 2 lety +3

      @@skilz8098 lol, I was just kidding. Thanks for sharing.

    • @Azul719
      @Azul719 Před 2 lety +1

      You just wrote a book dude haha

    • @skilz8098
      @skilz8098 Před 2 lety +1

      @@Azul719 It's barely a chapter. Only a few paragraphs.

  • @RaviSargam
    @RaviSargam Před 6 lety +13

    Your videos are simple to understand, you make very clearly for .net platform... Thank you for your videos👌😔🙏

    • @RaviSargam
      @RaviSargam Před 6 lety +1

      Programming with Mosh definitely bcoz you are the only CZcamsr who makes super quality videos on dot net...

    • @HOWYOUDOIN884
      @HOWYOUDOIN884 Před 5 lety

      Let me guess, you are a fucker from India that just likes to agree but doesn't understand shit, and you also don't wear deodarant?

  • @ronp-eb9bh
    @ronp-eb9bh Před 2 měsíci

    Mr. Mosh, thank you for explaining Python in such a base-level common sense manner. You took a 4 hour class and summed it up better than the CISCO Network Academy that I'm going thru. Thank you so much!

  • @shegsdev
    @shegsdev Před 6 lety

    I watched your full tutorial on react before my system crashed, and I lost everything.
    Ever since, I've been looking for this channel, so glad I did.
    And I won't forget to subscribe cos I did even before watching this video.
    P.S: Your tutorials are great and keep up the good work.