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

Поделиться
HTML-код
  • Опубликовано: 28 май 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/

Комментарии • 1 тыс.

  • @droam129
    @droam129 2 года назад +847

    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  2 года назад +47

      I’m glad it was helpful.

    • @paldeusjaco9657
      @paldeusjaco9657 2 года назад +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 2 года назад +3

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

    • @jaycelee8453
      @jaycelee8453 2 года назад +1

      @@IAmTimCorey god is bold

    • @lifeisgameplayit
      @lifeisgameplayit 2 года назад +1

      why not bingit ;d

  • @williamliu8985
    @williamliu8985 2 года назад +122

    "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  2 года назад +9

      Awesome!

    • @AmbroseKTal
      @AmbroseKTal 2 года назад +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 2 года назад +120

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

    • @tomthelestaff-iamtimcorey7597
      @tomthelestaff-iamtimcorey7597 2 года назад +5

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

    • @dand4485
      @dand4485 2 года назад +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 2 года назад

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

    • @none_the_less
      @none_the_less 2 года назад +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 2 года назад

      @@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 2 года назад +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  2 года назад +8

      I am glad my content has been so helpful.

  • @ricardodelacruz8666
    @ricardodelacruz8666 2 года назад +23

    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!!!!!!!

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      I am glad it was so helpful.

  • @digestingpuma5597
    @digestingpuma5597 2 года назад +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 2 года назад +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  2 года назад

      You are most welcome. Thanks for watching.

  • @moneyhustle7462
    @moneyhustle7462 2 года назад +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!!!

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      I am glad it was so helpful!

  • @E1987TO
    @E1987TO 2 года назад +7

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

  • @williamFrSFO16
    @williamFrSFO16 2 года назад +3

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

  • @karandhingra7808
    @karandhingra7808 Год назад

    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.

  • @liswingeorge3185
    @liswingeorge3185 2 года назад

    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.

  • @t555d
    @t555d 2 года назад +16

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

  • @jeeshenlee183
    @jeeshenlee183 2 года назад +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 2 года назад +2

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

    • @magicorpse
      @magicorpse 2 года назад

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

  • @prakashpoudel7536
    @prakashpoudel7536 2 года назад +1

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

  • @devjyotichakraborty9348
    @devjyotichakraborty9348 Год назад +1

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

  • @stevenbingham3061
    @stevenbingham3061 2 года назад +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.

  • @gwog
    @gwog 2 года назад +5

    Fantastic explanation. Thank you!

  • @cccc7006
    @cccc7006 2 года назад

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

  • @conor3087
    @conor3087 Год назад

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

  • @skajlet9045
    @skajlet9045 2 года назад +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 2 года назад +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 2 года назад

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

  • @IamKVJ999
    @IamKVJ999 2 года назад +3

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

  • @vibhordhawan27
    @vibhordhawan27 2 года назад +1

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

  • @deepakbagate6211
    @deepakbagate6211 2 года назад

    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 !!!

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      I’m glad it was helpful.

  • @jasonfreeman8022
    @jasonfreeman8022 2 года назад +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 2 года назад +1

      Thank you.

    • @UrGuru
      @UrGuru 2 года назад +1

      thank you

    • @AbhishekBali93
      @AbhishekBali93 2 года назад +1

      Thank you 👍🏼.

    • @akunformalitas
      @akunformalitas 2 года назад

      Thanks but what about ".NET Standard"?

    • @ChadiHD112
      @ChadiHD112 Год назад +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#.

  • @orange-vlcybpd2
    @orange-vlcybpd2 2 года назад +3

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

  • @mariusadrian999
    @mariusadrian999 2 года назад

    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.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      I am glad it was so helpful.

  • @hollisross3561
    @hollisross3561 2 года назад

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

  • @fox_trot
    @fox_trot 2 года назад +8

    I just love this guy, unbelievably succinct!!

  • @Rhapsodizenkharis
    @Rhapsodizenkharis 2 года назад +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.

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +2

      I don’t have a display behind me. That’s my bookshelf.

    • @Rhapsodizenkharis
      @Rhapsodizenkharis 2 года назад

      @@IAmTimCorey :)

  • @AbhigyanGautam
    @AbhigyanGautam 2 года назад

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

  • @SanderIwase
    @SanderIwase Год назад

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

  • @saikovvuri
    @saikovvuri 2 года назад +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  2 года назад +5

      They will fix bugs in that version.

    • @Xershade
      @Xershade 2 года назад

      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.

  • @evildoer1606
    @evildoer1606 2 года назад +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  2 года назад +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 2 года назад +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 2 года назад

      @@irfanshaik1302 Right Question

  • @joshisushant
    @joshisushant Месяц назад

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

  • @AlexxXRecorD
    @AlexxXRecorD 2 года назад +1

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

  • @BM-jy6cb
    @BM-jy6cb 2 года назад +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.

  • @bobweiram6321
    @bobweiram6321 2 года назад +4

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

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +3

      I think I explained that in the video.

  • @nomanabid9394
    @nomanabid9394 Год назад +1

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

  • @Zeila1
    @Zeila1 Год назад

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

  • @PaulPaulPaulson
    @PaulPaulPaulson 2 года назад +12

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

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +3

      Yep.

    • @FaisalAfroz
      @FaisalAfroz 2 года назад +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.

  • @rajeshgokhale1975
    @rajeshgokhale1975 2 года назад

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

  • @interelbrico
    @interelbrico Месяц назад

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

  • @geoffmreynolds
    @geoffmreynolds 2 года назад +1

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

  • @reyarqueza7627
    @reyarqueza7627 Год назад

    That was an awesome overview of the past 20 years!

  • @dmytroskydanenko5106
    @dmytroskydanenko5106 2 года назад

    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!

  • @maheshdeeti6922
    @maheshdeeti6922 Год назад

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

  • @sajankumarvijayan811
    @sajankumarvijayan811 11 месяцев назад

    Well explained. Thank you TimCorey.

  • @davidboatengadams301
    @davidboatengadams301 Год назад

    Very detailed yet simple explanation. Thanks TIm

  • @onurguzel16
    @onurguzel16 2 года назад +1

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

    • @IAmTimCorey
      @IAmTimCorey  2 года назад +1

      I am glad it was so helpful.

  • @mamtasingh-jo2fo
    @mamtasingh-jo2fo 2 года назад

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

  • @sivaapss0015
    @sivaapss0015 2 года назад +1

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

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      Excellent! I am glad it helped.

  • @mykolakriukov1252
    @mykolakriukov1252 2 года назад

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

  • @nachum800
    @nachum800 Год назад

    This was so clear!
    Great job Tim!
    Thanks

  • @subhankarbhattacharjee6113
    @subhankarbhattacharjee6113 2 года назад

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

  • @vatnax2680
    @vatnax2680 2 года назад +1

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

  • @climjames1677
    @climjames1677 8 месяцев назад

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

  • @3dr1ch
    @3dr1ch 7 месяцев назад

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

  • @Lennard1998
    @Lennard1998 2 года назад

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

  • @Shakti_Singh_Om
    @Shakti_Singh_Om 2 года назад

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

  • @brikimbran
    @brikimbran 2 года назад

    Thanks Tim. Cleared the air quite a bit.

  • @tocobern
    @tocobern Год назад

    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.

  • @SiebeBosch
    @SiebeBosch 2 года назад

    Great explanation Tim. Thanks for clarifying!

  • @pedrofeltrin8774
    @pedrofeltrin8774 2 года назад

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

  • @davidpetty7014
    @davidpetty7014 2 года назад

    Answered a LOT of questions and cleared things up. Thanks

  • @jaxparrow1794
    @jaxparrow1794 2 года назад

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

  • @trisapandey1311
    @trisapandey1311 Год назад +1

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

  • @ulviugur3605
    @ulviugur3605 2 года назад

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

  • @srikant67
    @srikant67 9 месяцев назад

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

    • @IAmTimCorey
      @IAmTimCorey  9 месяцев назад

      I am glad it was helpful.

  • @gcma1999
    @gcma1999 Год назад

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

  • @packagegamesstudio1125
    @packagegamesstudio1125 Год назад

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

  • @janlamprecht9229
    @janlamprecht9229 2 года назад

    Brilliant, crystal clear explanation, thank you. 👏

  • @andrewsterkowitz3930
    @andrewsterkowitz3930 2 года назад

    Loving the upgraded quality on the channel!

  • @user-dd1tz5rs2j
    @user-dd1tz5rs2j Год назад

    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.

    • @IAmTimCorey
      @IAmTimCorey  Год назад

      Awesome! I am glad it was helpful.

  • @therealtulip
    @therealtulip Год назад

    Thank you for the detailed and very clear explanation!

  • @sachinjawale8328
    @sachinjawale8328 2 года назад

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

  • @HieuNguyen-td7ic
    @HieuNguyen-td7ic 2 года назад

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

  • @asdf90091
    @asdf90091 2 года назад

    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  2 года назад

      You are most welcome. Thanks for watching.

  • @jimboyuk1
    @jimboyuk1 2 года назад

    Put very succinctly. Well done!

  • @salihgursoy9036
    @salihgursoy9036 Год назад

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

  • @jlitodelcid326
    @jlitodelcid326 2 года назад +1

    Nice. Your videos are always useful.

  • @cswithabdullah2638
    @cswithabdullah2638 2 года назад

    That was a great explaination. Thanks dude.

  • @auraSinhue
    @auraSinhue Год назад

    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!

  • @jimread2354
    @jimread2354 2 года назад

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

    • @IAmTimCorey
      @IAmTimCorey  2 года назад

      I’m glad it was so helpful.

  • @Nitrometutorials
    @Nitrometutorials 2 года назад

    Thank you SO MUCH for this!

  • @absurd0000
    @absurd0000 Год назад

    Great explanation! exactly what i was looking for

  • @jwdonal
    @jwdonal Год назад

    Wonderful video. Thank you. Very helpful.

  • @krishna-kr5zp
    @krishna-kr5zp 10 месяцев назад

    Perfect explanation, thanks!!

  • @andiledumakude6135
    @andiledumakude6135 2 года назад

    Good explanation thanks Corey

  • @bardaitay1
    @bardaitay1 12 дней назад

    Well explained. I wish I knew all this many years ago. Thanks a lot!

  • @Mizgot
    @Mizgot Год назад

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

  • @abdu9392
    @abdu9392 Год назад +1

    Thank you for the Awesome explanations.

  • @manalimardhekar3717
    @manalimardhekar3717 2 года назад

    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..

  • @hamm8934
    @hamm8934 Год назад

    Exactly the video I needed! Thanks for this :)

  • @treebear0002003
    @treebear0002003 2 года назад

    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.

  • @wavewalnut9869
    @wavewalnut9869 2 года назад

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

  • @kosovaere7214
    @kosovaere7214 2 года назад

    Very good and clear explanation. Thank you.

  • @sarathkruthiventy4872
    @sarathkruthiventy4872 2 года назад

    Great explanation Tim! Thanks

  • @bijaysahoo9619
    @bijaysahoo9619 2 года назад

    The best explanation. Thank you

  • @kenjohnsiosan9707
    @kenjohnsiosan9707 9 месяцев назад

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