.NET Framework vs .NET Core vs .NET vs .NET Standard vs C#

Sdílet
Vložit
  • čas přidán 11. 05. 2024
  • What is the difference between .NET Framework and .NET Core? Where does .NET fit in? Is .NET Standard another framework? What about the versions of C#? How do they relate to the .NET Framework/Core/.NET/Standard? These are the questions we are going to answer in today's episode of Dev Questions.
    Podcast: iamtimcorey.com/p/podcast
    Purchase Courses: iamtimcorey.com
    Mailing List: signup.iamtimcorey.com/

Komentáře • 1K

  • @droam129
    @droam129 Před 2 lety +844

    I’ve probably googled this question a dozen times over the past couple years, and this is the first time I’ve understood it. Thank you, Tim.

    • @IAmTimCorey
      @IAmTimCorey  Před 2 lety +47

      I’m glad it was helpful.

    • @paldeusjaco9657
      @paldeusjaco9657 Před 2 lety +7

      @@IAmTimCorey You have the gift of explaining and teaching. Truly appreciate your time articulating so much knowledge. Wishing you the best, Tim.

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

      @@IAmTimCorey Thanks for explaning! Finally understand the different after coding in C# for 7 years.

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

      @@IAmTimCorey god is bold

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

      why not bingit ;d

  • @williamliu8985
    @williamliu8985 Před 2 lety +120

    "William" has just finished this video. I still can`t believe that my question was answered here..!! Very clear answer for me. I appreciate it, Tim! ❤

    • @IAmTimCorey
      @IAmTimCorey  Před 2 lety +9

      Awesome!

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

      Thank you. A friend has tried to explain this several times, but I still get confused. This really helps. I never thought to ask in here! Thank you again.

  • @yunietpiloto4425
    @yunietpiloto4425 Před 2 lety +119

    Man why I didn’t have a university professor like you. Spot on!

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 Před 2 lety +5

      If they are at the university, than they are rarely in the real business world actually doing it.

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

      @@tomthelestaff-iamtimcorey7597 Honestly this might be an over simplification, a number of my co-workers when I worked at Microsoft also taught classes at the University of Washington.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 Před 2 lety

      @@dand4485 True, there are some exceptions. I did encounter one in my years a the university.

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

      In my opinion university professors spend so much time mastering subjects to the point where they lose touch with what is it like to be a beginner.

    • @dand4485
      @dand4485 Před 2 lety

      @@none_the_less That might be true but, but then again wouldn't expect universities the place for beginners, especially if the topic is on advanced topics, where the level of professors covering the hard stuff, more often they won't be teaching introductory classes? While some of the best teachers I had where the upper professors teaching the simple stuff. Found more often they cut out the chatter and presented stuff clearly in a way only a person with great understand might. Having as much mastery of a subject they really would make it that much simpler and earlier for other to understand. Hard having a person that doesn't really understand a subject themselves teach it too...

  • @_rcs
    @_rcs Před 2 lety +55

    Tim, you were my go-to resource when I was stuck developing with WebForms and was trying to build modern skills. I'm glad you are still producing quality content. I hope it's going well for you.

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

      I am glad my content has been so helpful.

  • @ricardodelacruz8666
    @ricardodelacruz8666 Před 2 lety +22

    Thanks for that great explanation! I speak English and Spanish and this is by far the best video in both languages that I’ve found on the web explaining the difference between all of the confusing concepts of .Net, I was so frustrated that I couldn’t found a video or document that explains all of that but you have done it in a easy and excellent way, thanks a lot!!!!!!!

  • @digestingpuma5597
    @digestingpuma5597 Před 2 lety +14

    Love this video and Tim's explanation. The way he explains it, his conversation pace makes it much, much easier for me to understand the topic.

  • @timneale5657
    @timneale5657 Před 2 lety +7

    Thank YOU!!! Being new to Developing this really helped answer a question I didn't even really know I had. Awesome explanation, can't wait to watch more of your stuff.

    • @IAmTimCorey
      @IAmTimCorey  Před 2 lety

      You are most welcome. Thanks for watching.

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

    Tim I have been confused by this for so long. This was hands down one of the best explanations I have ever seen for such a complex topic. SALUTE!!!

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

    Shared this to the team to clarify the need for migration. Thank you, my man!

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

    Thank you, Tim! (Your videos on CZcams and classes at IAmTimCorey are great!)

  • @t555d
    @t555d Před 2 lety +16

    Wow man what an explanation! This cleared out my many questions.
    You are really wonderful professor.
    Thank you Professor Tim!

  • @devjyotichakraborty9348
    @devjyotichakraborty9348 Před rokem +1

    Thank you so much for such a simple yet detailed explanation! This was so confusing before and now it is crystal clear.

  • @jeeshenlee183
    @jeeshenlee183 Před 2 lety +10

    Thanks, Tim. That's a great summary.
    I wish to see more how-to video guides on migrating from ASP MVC (.NET Framework 4.8) to .NET 6 and migration from WPF (.NET Framework) to .NET 6

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 Před 2 lety +2

      I added it to Tim's list for topics to consider. Thanks for recommending it.

    • @magicorpse
      @magicorpse Před 2 lety

      @@tomthelestaff-iamtimcorey7597 Hey, just wanted to ask if it was possible to make a video about it? Thanks for the content you provide.

  • @stevenbingham3061
    @stevenbingham3061 Před 2 lety +11

    I would have loved some graphics to accompany this discussion, but even without graphics the representation was easy to follow. Nice job.
    I've worked with Microsoft software/systems since the 80's and one thing I can say is you really need to understand the historical progression of its systems to really appropriately understand where thing are. This simple discussion of the progression and reasoning behind going from Framework to Core is an example of how drawing that historical background is truly helpful.

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

    The best clear and concise explanation ever came up with. You rock Tim

  • @karandhingra7808
    @karandhingra7808 Před rokem

    I've been scratching my head over this confusion for quite some time and this video finally put an end to that confusion. Thank you so much for this great explanation.

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

    As always a clear explanation. It would be great if you could create a video about CIL, CLR, JIT. What they are, what they do and how they depend on each other. Thank you for your commitment.

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

      The CLR is the runtime kind of like the JVM; just think of it as a Virtual Machine. Think of CIL as some kind of Assembly Code that the Virtual Machine understands. The JIT converts CIL to the instructions of the underlying hardware as the program runs. For instance, a program written in C# can be compiled to CIL just once (depending on your compiler switches) and then run on different architectures - x86, x64, ARM, ARM64. It is the responsibility of the JIT on the given platform to convert the CIL to actual machine code for that platform as the program runs.

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 Před 2 lety

      I a great explanation in other comments, but I still placed it on Tim's viewer suggestions list.

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

    Just this single video cleared all of my confusion in dot net... Thanks man!

  • @deepakbagate6211
    @deepakbagate6211 Před 2 lety

    Wow !!!
    This is spot on fantastic explanation.
    Now I have clear picture about my learning path ahead.
    Thanks a lot, Tim.
    And as always you are Tim Corey !!!

  • @cccc7006
    @cccc7006 Před 2 lety

    Thanks for this Tim. Great content. I updated my setting for your channel to notify on all videos.

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

    Fantastic explanation. Thank you!

  • @jasonfreeman8022
    @jasonfreeman8022 Před 2 lety +172

    Wondering why you haven’t mentioned the support libraries as well. I think this is what you meant when you used the term “abstraction layer”. Any language on a given platform requires all kinds of helpers to do things like open files, communicate via the network, print, and common tools like lists, stacks, numerical processing, etc. Framework required pre-installed libraries. These libraries tended to be monolithic (large and not very modular). Core modularized and packaged parts of the framework libraries allowing developers to pick and choose the parts of the “libraries” they needed for an application. This was necessary for a couple of reasons. One, cloud servers needed to be fast to spin up. Requiring that the entire set of framework libraries be present increased storage consumption and install time. Two, the framework had a bigger footprint because it was all one big thing and it would load and initialize things that the app may never use. So modularizing it and enabling the dev to specify only what was needed made application installation smaller and faster and it also made application startup smaller and faster. Framework = monolithic install. Core = modular packaging.

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

      Thank you.

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

      thank you

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

      Thank you 👍🏼.

    • @akunformalitas
      @akunformalitas Před 2 lety

      Thanks but what about ".NET Standard"?

    • @ChadiHD112
      @ChadiHD112 Před rokem +1

      It's not only about libraries, its also about how the language is written fundamentally ( indentation, use of brackets, Dense Matrix Multiplication)...so on. These are very important to be written and organised on the hardware memory using very low level languages (Assembly) or maybe C/C++. Most languages have their own unique way to write and organise that specific memory and having a Framework that unites all of these "Abstractions" is huge.
      So, instead of having to use 5 languages to write an application on different platforms, now you can use only 1. Which in our case C#.

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

    The best video I have seen so far which explained these confusing terms in such an easy way. Thanks Tim :)

  • @liswingeorge3185
    @liswingeorge3185 Před 2 lety

    Thanks man. I don't think anybody would care to break it down more concisely than how you did in this video. 25 mins. Well put out.

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

    I just love this guy, unbelievably succinct!!

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

    Tim, it will have been nice to use the display devices behind you to give us illustrations that will go with your explanation!
    I had to do my own illustrations while you explained.

  • @conor3087
    @conor3087 Před rokem

    Thanks for the clarification! Really appreciate the time and effort you spent in making this video

  • @dmytroskydanenko5106
    @dmytroskydanenko5106 Před 2 lety

    Thank you for a brilliant explanation!
    And yeah, these things confused me while studying SC and only now I have seamless understanding of what's going on there. Great video!

  • @orange-vlcybpd2
    @orange-vlcybpd2 Před 2 lety +3

    Relativity Theory < Quantum Theory < Valsiliev equations < abc conjecture < dotNET Framework Naming and Versioning System

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

    Hello Tim, excellent explanation, thanks clears several confusion points for me.
    I do have a question - what do they mean say ".NET Core X has support for 3 years" does it mean they will fix any bugs identified in that version or they will only be backward compatible for 3 years back

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

      They will fix bugs in that version.

    • @Xershade
      @Xershade Před 2 lety

      Usually a life time for something is the developer basically saying, after three year's we're not working on this except for major security patches, after five years we're done, it's dead, use at your own risk.
      The main thing to keep in mind is if three years from now a third party library is going to be updating to a new version, that's pretty much the number one thing that kills code when a version expires, the libraries ti depends on moving on to the latest version.

  • @hollisross3561
    @hollisross3561 Před 2 lety

    Thank you for clearing that up. I was so confused about all of these naming conventions.

  • @nomanabid9394
    @nomanabid9394 Před rokem +1

    What an Explanation of a Complex Eco-System into an Easy to Digest hierarchy. Thank you for being on CZcams for Us

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

    Hey Tim, thank you for the explanation! What about ASP.NET and ASP.NET Core? Where and when did they come from?

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

      Same thing. ASP.NET is the web project types in the .NET Framework. ASP.NET Core is the web project types in .NET Core.

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

      @@IAmTimCorey So they use different abstraction layers or same? I mean does asp.net use .net framework and asp.net core uses .net core?

    • @vaibhavpatil1719
      @vaibhavpatil1719 Před 2 lety

      @@irfanshaik1302 Right Question

  • @BM-jy6cb
    @BM-jy6cb Před 2 lety +7

    .Net Core - Naming confusion not helped by many libraries for. Net Framework having base components in libraries named along the lines of MyLibrary.Core. Also MS screwed up big time with their Identity libraries. TBH, I still can't shake the incompatibility impression of the original .Net Core release. All this isn't helped by the muddled online documentation.

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

    Detailed and clear as usual. Thanks so much for the explanation!

  • @SanderIwase
    @SanderIwase Před rokem

    Amazing explanation! I've been googling this for days and only now I could nail it. Thanks a lot

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

    Why did Microsoft make this so damn confusing in the first place? They're terrible at communicating

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

      I think I explained that in the video.

  • @PaulPaulPaulson
    @PaulPaulPaulson Před 2 lety +12

    To start with the obvious: .NET is a terrible name

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

      Yep.

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

      even the languages name of C# or F# . They need to get their naming sorted out so it is easy to google without special characters.

  • @AbhigyanGautam
    @AbhigyanGautam Před 2 lety

    This is the best explanation to the differences between all of these. Thanks a lot!

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

    I cannot stress enough what a great video this is. I have been confused with .net for the longest tome

  • @subhankarbhattacharjee6113

    Thank you for this brilliant Explanation, It has cleared my doubt.

  • @maheshdeeti6922
    @maheshdeeti6922 Před rokem

    Thanks Tim, It was really a great way of explanation and makes me very very clear to remove the confusion on these terminologies.

  • @mamtasingh-jo2fo
    @mamtasingh-jo2fo Před 2 lety

    Thank you Tim for the wonderful video...It was always confusing to get the difference between these three..Now it is more clear..

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

    Finally, a clear explanation! Thank You, great video!

  • @joshisushant
    @joshisushant Před 29 dny

    this is probably the clearest explanation I have come across, and it was pretty damn useful, with all the naming convention etc.. Thanks

  • @Shakti_Singh_Om
    @Shakti_Singh_Om Před rokem

    thanks Tim for a wonderful explanation. I am sure it couldn't be done any better.

  • @rajeshgokhale1975
    @rajeshgokhale1975 Před 2 lety

    Best explation heard so far....Cleared most of the doubts... Appreciate it

  • @ulviugur3605
    @ulviugur3605 Před 2 lety

    Great summary Tim ! 👍 One could have used a slide for the multiple layers and all but this worked also fine 👏

  • @mariusadrian999
    @mariusadrian999 Před 2 lety

    I searched for so long for a clear explanation of the differences between .NET versions that it became frustrating. Thank you for making this video and clearly explaining everything.

  • @mykolakriukov1252
    @mykolakriukov1252 Před 2 lety

    Cool, finally I have a clear vision what net standard is used for, thanks Tim!!!

  • @Zeila1
    @Zeila1 Před rokem

    give this dude a medal, you explained it so well and it's so easily understandble. well done my freind.

  • @interelbrico
    @interelbrico Před měsícem

    Thanks Tim for this clear and easy to understand video. All your videos are just amazing. Thank you very much.

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

    Thank you for great explanation I am a starting with c# and finally I can understand the difference between the different .net

  • @reyarqueza7627
    @reyarqueza7627 Před rokem

    That was an awesome overview of the past 20 years!

  • @Lennard1998
    @Lennard1998 Před 2 lety

    Thank you!! I have been puzzling with this for a couple of days

  • @jaxparrow1794
    @jaxparrow1794 Před 2 lety

    Tim, once again, a job well done!
    Thanks!

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

    Very well done. Not everyone can breakdown things in a way that is easy to understand.

  • @nachum800
    @nachum800 Před rokem

    This was so clear!
    Great job Tim!
    Thanks

  • @packagegamesstudio1125

    This was such a great video, thank you so much for the content!

  • @3dr1ch
    @3dr1ch Před 6 měsíci

    Thanks so much for this video - really helped me get back up to speed with things!

  • @tocobern
    @tocobern Před rokem

    Thank you for the history and easy explanation. Nothing is difficult, it's just how you are taught that makes it hard or difficult. You made it easy.

  • @janlamprecht9229
    @janlamprecht9229 Před 2 lety

    Brilliant, crystal clear explanation, thank you. 👏

  • @pedrofeltrin8774
    @pedrofeltrin8774 Před 2 lety

    Essential video for someone just getting into the .NET world like me. Thank you a lot!!

  • @trisapandey1311
    @trisapandey1311 Před rokem +1

    Thank you Tim. You're such a great teacher.

  • @davidpetty7014
    @davidpetty7014 Před 2 lety

    Answered a LOT of questions and cleared things up. Thanks

  • @davidboatengadams301
    @davidboatengadams301 Před rokem

    Very detailed yet simple explanation. Thanks TIm

  • @sachinjawale8328
    @sachinjawale8328 Před 2 lety

    Very Well Explained Tim, I was confused about all these frameworks and their confusing names.

  • @wavewalnut9869
    @wavewalnut9869 Před 2 lety

    Your explanation was very easy to understand. thank you!
    とてもわかりやすかったです。ありがとう!

  • @SiebeBosch
    @SiebeBosch Před 2 lety

    Great explanation Tim. Thanks for clarifying!

  • @sajankumarvijayan811
    @sajankumarvijayan811 Před 11 měsíci

    Well explained. Thank you TimCorey.

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

    I was sick and tired researching to resolve this confusion. MS really messed up so bad. Nice video. Thanks.

  • @srikant67
    @srikant67 Před 9 měsíci

    Great explanation, i have this question from months. Clarified thanks

  • @andrewsterkowitz3930
    @andrewsterkowitz3930 Před 2 lety

    Loving the upgraded quality on the channel!

  • @HieuNguyen-td7ic
    @HieuNguyen-td7ic Před 2 lety

    Thank you professor Tim. The topic is really useful for me.

  • @salihgursoy9036
    @salihgursoy9036 Před rokem

    Perfect explanation video of .net history, it enlightened me a lot. Thanks a lot, Tim.

  • @hamm8934
    @hamm8934 Před rokem

    Exactly the video I needed! Thanks for this :)

  • @auraSinhue
    @auraSinhue Před rokem

    Great explanation, sir. I just found your channel thanks to this video. In fact, I just installed .net core on my Ubuntu dev box just to see how it works. Thanks, man!

  • @brikimbran
    @brikimbran Před 2 lety

    Thanks Tim. Cleared the air quite a bit.

  • @therealtulip
    @therealtulip Před rokem

    Thank you for the detailed and very clear explanation!

  • @user-dd1tz5rs2j
    @user-dd1tz5rs2j Před rokem

    thank you. After listening to the explanation, I was able to understand the changes in various .NET versions. And, it solved the confusion that comes from ignorance.

  • @Mizgot
    @Mizgot Před rokem

    Wow. I’m speechless. This and you were perfect, thx!!

  • @kenjohnsiosan9707
    @kenjohnsiosan9707 Před 9 měsíci

    as new to C# and .NET ecosystem , this video clear things out. thank Tim.

  • @maximumefficiency593
    @maximumefficiency593 Před rokem

    Thank you!!! It all makes sense now

  • @manalimardhekar3717
    @manalimardhekar3717 Před 2 lety

    Thanks for this. It was very disappointing to get confused with all these things after working for many years in net framework. This helped a lot..

  • @jimread2354
    @jimread2354 Před 2 lety

    Thanks for the clarity. I spent over an hour in MS docs and didn't get this level of understanding.

  • @asdf90091
    @asdf90091 Před 2 lety

    Thanks for the concise explanation. As a Java developer who hasn't kept up with .NET, I learned more from your video than I have Googling the topic in my spare time.

    • @IAmTimCorey
      @IAmTimCorey  Před 2 lety

      You are most welcome. Thanks for watching.

  • @ashwanimishra1845
    @ashwanimishra1845 Před 2 lety

    Never understood this before I watch your video..Very very informative. Thank you.

  • @treebear0002003
    @treebear0002003 Před 2 lety

    You have provided me an extraordinary answer to my boss why I need to start over and rewrite all my .net frameworks applications in my previous 10+ years.

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

    Nice. Your videos are always useful.

  • @absurd0000
    @absurd0000 Před rokem

    Great explanation! exactly what i was looking for

  • @gcma1999
    @gcma1999 Před rokem

    I was so lost thinking that NET Core was different from plain .NET. Thank you so much, very detailed and patiently explained.

  • @yazanshakhshir3049
    @yazanshakhshir3049 Před rokem

    Thank you very much Mr Tim for the great explanation

  • @Manish7759
    @Manish7759 Před 2 lety

    Thankyou TIM for great explanation !! Best wishes from Nepal! ❤️

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

    I've always been confused about .NET's names, great explanation thank you.

  • @abdu9392
    @abdu9392 Před rokem +1

    Thank you for the Awesome explanations.

  • @Nitrometutorials
    @Nitrometutorials Před 2 lety

    Thank you SO MUCH for this!

  • @maheshtryambake1783
    @maheshtryambake1783 Před 2 lety

    Excellent this helps a lot, PPT will help us to refer it again

  • @cswithabdullah2638
    @cswithabdullah2638 Před 2 lety

    That was a great explaination. Thanks dude.

  • @timviney2227
    @timviney2227 Před rokem

    Your content has been such a great help over the years!

  • @manudelmarche
    @manudelmarche Před 2 lety

    I spent 25 really useful minutes watching this. Thanks Tim!