Latest / DevQuestions with Tim Corey / 070 What Parts of C# Are Obsolete? Should I Even Learn The .NET Framework?
Transcript
- 0:00SPEAKER_00: Welcome to the Dev Questions Podcast with Tim Corey.
- 0:03SPEAKER_00: Join us each episode as we tackle the questions you are asking about a career in software development, understanding the industry, and new technology.
- 0:12SPEAKER_00: If you're just starting out or you want to grow stronger as a developer, this is the place to get your questions answered.
- 0:19SPEAKER_00: Now, here's your host, expert developer and online educator, Tim Corey.
- 0:24SPEAKER_01: What parts of C Sharp are obsolete?
- 0:27SPEAKER_01: Should I even learn the.NET framework?
- 0:30SPEAKER_01: With.NET 6 coming out, this question is coming up over and over again about what versions are obsolete or which ones should I not learn, or which ones should I ignore.
- 0:41SPEAKER_01: So let's talk about the different versions of.NET and which ones you should learn and which ones you should just bypass.
- 0:50SPEAKER_01: Now let's look first from a business perspective.
- 0:53SPEAKER_01: This can be important.
- 0:54SPEAKER_01: When you are learning C sharp, when you're growing in C sharp, when you're improving your C sharp, most likely it's because you want a job.
- 1:04SPEAKER_01: Now, some people don't want a job, they just want a hobby, they want to do something for themselves, or they're just, you know, having fun.
- 1:11SPEAKER_01: And that's fine.
- 1:12SPEAKER_01: And this might not apply as much to you, but it's still good to know these things.
- 1:17SPEAKER_01: So for the people who are looking to get a job, you've got to think from a business perspective about programming.
- 1:25SPEAKER_01: Because when you are learning programming, the the thought is the latest and greatest stuff, the coolest stuff, the stuff that you really uh find the most fun in.
- 1:35SPEAKER_01: And with.NET 6, right around the corner, this is a great time to be thinking about the latest and greatest stuff and the new stuff that's coming in, the cutting edge.
- 1:43SPEAKER_01: But that's not what business thinks about.
- 1:48SPEAKER_01: A typical business, let's talk about not a business that's starting today, not a startup, not a business that's been around for less than a year, but a traditional business is going to be one that probably has a number of years into.NET, maybe 10 plus.
- 2:06SPEAKER_01: And if that's the case, they probably have an application built in the.NET framework.
- 2:13SPEAKER_01: At the time, that was cutting edge when they started out.
- 2:16SPEAKER_01: But 10 years later, a million plus lines of code, many, many millions of lines possibly, of code.
- 2:24SPEAKER_01: That's not an easy ship to turn.
- 2:26SPEAKER_01: That's not something where you say, okay, we're going to take a weekend and upgrade from.NET framework to.NET Core.
- 2:33SPEAKER_01: It's not that easy.
- 2:35SPEAKER_01: Even though that upgrade process is pretty clean for such a major upgrade process, it's still not something that a business just undertakes on a whim.
- 2:45SPEAKER_01: It may take months or even years to upgrade to a.NET Core 3.1 or.NET 6.
- 2:54SPEAKER_01: So are they going to do that?
- 2:58SPEAKER_01: It's a hard sell.
- 2:59SPEAKER_01: And I have this conversation with people a lot.
- 3:01SPEAKER_01: I had one a conversation this week about it, where a person was saying, I really want to sell the idea of upgrading, but you know, it's going to be a six-month process, and the end result is from a user perspective, the same exact application.
- 3:17SPEAKER_01: There's nothing seems to have changed, no new features.
- 3:19SPEAKER_01: It just took six months of time to do nothing.
- 3:22SPEAKER_01: And that's not really an easy sell to a boss.
- 3:26SPEAKER_01: And you know, hey boss, I want to spend hundreds of thousands of dollars of man hours and and you know, and push off all of our other projects in order to stay in the same place.
- 3:38SPEAKER_01: Not a great sell.
- 3:39SPEAKER_01: Now, there are ways you can sell that, but that's why businesses don't run on the latest software.
- 3:46SPEAKER_01: They don't run on the cutting edge.
- 3:48SPEAKER_01: It takes a lot of time, a lot of money, and the end result is they don't see much of a difference.
- 3:56SPEAKER_01: Now, again, there's performance improvements for sure, huge ones, just by moving from.NET framework to.NET Core, or from moving from.NET Core, let's say 2.1 to 3.1, 3.1 to 5, 5 to 6.
- 4:09SPEAKER_01: There's always improvements, always happening.
- 4:12SPEAKER_01: So performance-wise, you're going to see an improvement, but again, that's a more invisible thing.
- 4:19SPEAKER_01: Unless you're the one watching the server statistics, or unless you are hitting the the upper edge of a um of a hard barrier, like a server's total processing power, you're probably not going to notice it as the end user.
- 4:35SPEAKER_01: So, with that, knowing that businesses aren't moving quickly, they aren't going to just turn on a dime, they're not going to just upgrade for the sake of upgrading.
- 4:47SPEAKER_01: When it comes to looking at the versions of software that you're going to need to know going into those businesses, it's a pretty wide range.
- 4:58SPEAKER_01: And really, as I see, there's about nine different versions you should be paying attention to primarily.
- 5:04SPEAKER_01: Now, when I say paying attention to, that does not mean you have to spend all of your time there in nine different versions.
- 5:11SPEAKER_01: But you should be able to move into those versions and not have a lot of brush up time.
- 5:18SPEAKER_01: Okay.
- 5:19SPEAKER_01: So essentially, when you come across tutorials in these older versions, don't shy away from them.
- 5:24SPEAKER_01: Maybe just focus on a few.
- 5:26SPEAKER_01: I'll talk about a few to focus on.
- 5:29SPEAKER_01: But the nine different versions are there's four in.NET Core.
- 5:33SPEAKER_01: That'd be.NET Core 2.1,.NET Core 3.1, 1T5, and.NET 6.
- 5:39SPEAKER_01: Now,.NET 5 is going to fall off the radar after probably a year or so, because.NET 6 is coming out just around the corner.
- 5:48SPEAKER_01: And once it does, that's the long-term supported version.
- 5:52SPEAKER_01: Thus,.NET 5 will probably fall off since it's not the LTS version.
- 5:57SPEAKER_01: But for right now, there's those four.NET Core versions.
- 6:02SPEAKER_01: But there's also five, at least five, maybe six versions of a.NET framework to also know about.
- 6:11SPEAKER_01: And that is the one that's a maybe is.NET Framework 3.5.
- 6:17SPEAKER_01: That's it's a very old version, but it is one that there's still major products in.
- 6:24SPEAKER_01: But then.NET 4 for sure, dot net 4.5,.NET 4.6,.NET 4.7, and.NET 4.8.
- 6:32SPEAKER_01: The latest version of.NET Framework is.NET Framework 4.8.
- 6:38SPEAKER_01: So that's the one that'll be installed on Windows 11.
- 6:41SPEAKER_01: So when you get your cutting edge machine, that's still going to have.NET Framework 4.8 on it.
- 6:48SPEAKER_01: And there's a key point here to remember that Microsoft is still fully supporting.NET Framework.
- 6:55SPEAKER_01: That does not mean they are putting new upgrades out to it.
- 6:59SPEAKER_01: That does not mean they're going to be adding new features or changing how things work or bringing the latest features from.NET 6 into.NET Framework at all.
- 7:10SPEAKER_01: They're not doing that.
- 7:12SPEAKER_01: But they are still supporting the operation the running the helping you if you have a problem with dotnet framework.
- 7:20SPEAKER_01: So that's still being supported will be supported for a very long time which means that as a business you don't have as much incentive to move off of dotnet framework because it's still supported and it'll be supported for a very long time.
- 7:37SPEAKER_01: So again there's some major versions you're going to have to know about.
- 7:44SPEAKER_01: Now which versions should you pay most attention to well the cutting edge is always good.
- 7:50SPEAKER_01: Knowing the cutting edge because if you do get into a startup if you are asked to create a new project today.NET 6 is the way to go.
- 8:00SPEAKER_01: So dot net six is is the thing to know going forward as the cutting edge.
- 8:07SPEAKER_01: That's definitely one to know.
- 8:09SPEAKER_01: Also though know.NET Core 3.1 if you know that you know the the rest of.NET Core essentially you'll be able to handle most things.NET Core.
- 8:19SPEAKER_01: But then also know the.NET framework what version.NET framework isn't as important if you do four four five four six four eight um not as important because the there's not a ton of movement there that will cause problems if you have the backup you'll learn a few things that you have to lose but um knowing the dotnet framework is still important to know if you're going to get a job at a real business because you will still be confronted by these for a long while.
- 8:52SPEAKER_01: Now do you want to be probably not and you know it may be a choice where you say hey I'm going to limit my field by just saying no dot net framework stuff.
- 9:04SPEAKER_01: That's perfectly okay.
- 9:05SPEAKER_01: You are narrowing your field of potential options but you are saying I'm going to stay on the latest version or a later version of.NET rather than just the.NET framework.
- 9:19SPEAKER_01: It's up to you but when it comes to actually learning from tutorials so I have a lot of tutorials out there I have 300 plus on YouTube and not all of those are in.NET Core 6.
- 9:32SPEAKER_01: In fact right now I don't think any of them are I'm getting some soon but most of them are in older versions of.NET by older I mean.NET 5,.NET Core 3.1 or even.NET Framework 45464748.
- 9:50SPEAKER_01: So should you not watch any of those?
- 9:54SPEAKER_01: Should you not ignore all those well no and here's the reason why because the C sharp code in those for the most part hasn't changed.
- 10:05SPEAKER_01: Now yes user interfaces have changed so if you're watching a UI project yes there'll be some major changes.
- 10:12SPEAKER_01: If you're looking for for example MVC well MVC for.NET framework and MVC for.NET Core are pretty different.
- 10:23SPEAKER_01: Now the actual MVC portion is pretty similar but the setup how it works what the you know built in dependency injection and app settings and all the rest for.NET Core versions or.NET you know five and six versions those are different than uh web.config is for the uh.NET framework MVC so you might want to learn both or at least be exposed to both but then pick the one that's going to be what you most want to focus on going forward.
- 10:55SPEAKER_01: Okay.
- 10:56SPEAKER_01: So there is a little bit of difference in UI and if you say hey I'm focusing on.NET Core and above well then you wouldn't watch a.NET framework MVC project but you would for Link.
- 11:10SPEAKER_01: Link hasn't changed that much.
- 11:13SPEAKER_01: And so yes there may be some new features some new tweaks but you can watch a.NET framework video on Link and follow along in.NET 6.
- 11:22SPEAKER_01: It'll still work.
- 11:24SPEAKER_01: The same is true for most actual C sharp stuff.
- 11:28SPEAKER_01: I have videos on Dapper.
- 11:30SPEAKER_01: That stuff will work whether it's dot net framework ornet 6.
- 11:34SPEAKER_01: Same stuff.
- 11:35SPEAKER_01: So there's a lot of things that transfer over with my um my course on foundation C sharp where I walk you through from you know the start of just installing Visual Studio all the way up through you know career development in C sharp basically taking you through junior level or maybe even mid-level C sharp developer from start.
- 12:00SPEAKER_01: Well that I started with.NET Framework and I didn't change until we got to the UI projects and said okay now we're going to change to.NET Core because now it matters.
- 12:12SPEAKER_01: Until that point it didn't matter you can follow everything in.NET Core or in dotnet framework it'll work the exact same way.
- 12:21SPEAKER_01: So for six modules we go through.NET code and it would not matter if you're in dot net six or in well actually.NET 5 or in um so those still apply even though it's an older version and I've debated do I even upgrade it or not and I actually am going to I'm in the process of upgrading that to the latest version.
- 12:47SPEAKER_01: We're going to cover um.NET 6 pretty soon in that course.
- 12:51SPEAKER_01: If you already have a course don't worry it's free um you get the newest stuff for free.
- 12:55SPEAKER_01: But there are some changes in.NET 6 they'll have to look at compared to.NET 5 and below but also just the fact that you know it's it's later versions of Visual Studio with later options and I want you to feel comfortable.
- 13:11SPEAKER_01: But really the content is still the same the content is still valuable I'm going to keep those videos in the courses the older videos because they're still valuable even though they're in a.NET framework.
- 13:24SPEAKER_01: So don't just discard tutorials because they're.NET framework look at the content and see.
- 13:31SPEAKER_01: Now there are some things that you should avoid when learning C sharp so there's some things that have not made the jump from dotnet framework to.NET Core and beyond those things you should probably avoid because they are on their way out.
- 13:51SPEAKER_01: Now I will say that you should avoid them but maybe this is an opportunity to have a little niche that not everybody does.
- 14:02SPEAKER_01: So avoid does not mean never do them.
- 14:06SPEAKER_01: It just means unless you want to have that niche don't go this route okay so the things to avoid are web forms.
- 14:16SPEAKER_01: So before we had when we first start off on the web with C sharp we had web forms and it was the the equivalent of win forms but for the web kind of a drag and drop creator and they're very very popular but they don't really fit with the modern web standards that we have today.
- 14:37SPEAKER_01: And they were developed 15 years ago.
- 14:40SPEAKER_01: So they have not moved over from.NET framework to.NET Core there's no uh desire to move them over we now have Blazor server and Blazor WebAssembly these really replace the need for web forms and do so in a modern way.
- 15:01SPEAKER_01: There is a WCF core that's an open source community project not a Microsoft project but community project that they're working on to replace WCF with a.NET Core version but don't learn the.NET framework version unless you have again that niche need it was half replaced with gRPC not fully replaced and it's not going to be fully replaced.
- 15:28SPEAKER_01: All right also Windows workflow and.NET remoting neither of these are going to be replaced in.NET Core or moved over a.NET Core.
- 15:38SPEAKER_01: So if something isn't in core then learning it in.NET framework isn't going to benefit you unless you're working in a company that is still heavily invested in these things.
- 15:51SPEAKER_01: And at that point again you can support that company if you want and you want that that niche ability because that point there's less and less people doing that.
- 16:01SPEAKER_01: Therefore you're more and more in demand to an extent until companies move off of them.
- 16:08SPEAKER_01: But at the same time it kind of limits your career because if you spend all your time web forms what's your next job going to be because it's not going to look great on your resume to say okay I've got 10 years C sharp experience which is good and there's still a lot of value there.
- 16:27SPEAKER_01: But when you spend most of your time on web forms it's not going to be as um enthusiastic a response from a hiring manager because they're looking but that's not modern web development.
- 16:41SPEAKER_01: So it's not as valuable to me as a person who's got eight years experience in.NET core and dotnet framework web stuff.
- 16:52SPEAKER_01: So that's where I would be cautious.
- 16:56SPEAKER_01: Don't put yourself into a dead end career because it's a niche unless you really understand the repercussions.
- 17:03SPEAKER_01: And even so I would focus on still learning outside of work learn.NET core and the latest.NET stuff and keep yourself active creating uh sample projects in dot net six okay so there's definitely things to learn you can definitely learn across the board in dot net there are some things to avoid those four project types also the idea of avoiding uh focusing too much on a UI project type that is.NET framework so um asp.net mvc maybe not spend as much time that as you do asp.NET core mvc which is up through.NET 6.
- 17:51SPEAKER_01: So that's that's my thought now if you're starting a new project and so if you're starting today on a new project even though it's not quite out yet start in.NET 6.
- 18:03SPEAKER_01: Start in.NET 6 right now don't start in an older version unless there's an absolute need to do so.
- 18:10SPEAKER_01: Always start your projects in the absolute latest version.
- 18:15SPEAKER_01: Because if your project becomes that project that a um a company is still working on 10 years from now having start in.NET 6 gets you a little bit closer to modern development versus starting in a previous version that's now way obsolete.
- 18:32SPEAKER_01: Now another nice thing is dot net 5 to dot net 6 easy upgrade.NET 6 to dot net 7 hopefully an easy upgrade.
- 18:40SPEAKER_01: They're supposed to be so if you can do so keep your projects upgrading now I have had some pushback on this well you know there's all this testing and stuff has to go on for sure.
- 18:53SPEAKER_01: And that's not something to be taken lightly but at the same time you need to think through do some work now or get so far behind that you just can't do it.
- 19:04SPEAKER_01: And if you just can't do it then you're stuck.
- 19:07SPEAKER_01: So it's better to invest smaller investments over time rather than getting stuck and just staying on a version that's going to limit you and pass the world's going to pass you by.
- 19:20SPEAKER_01: All right?
- 19:21SPEAKER_01: So that's my thoughts on uh what's obsolete and what's not in C sharp, what you should learn and what you should avoid.
- 19:28SPEAKER_01: Thanks for listening to this week's episode of DevQuestions if you have a question about being a developer or being a C sharp developer check out the previous episodes this is both a podcast and a YouTube video series.
- 19:41SPEAKER_01: So check out both and if you have any questions you can also go to devquestions.com and check out where you can find this as a podcast or grab my YouTube channel and look for the DevQuestions playlist.
- 19:52SPEAKER_01: Have a great day and as always I am Tim Corey.
- 19:56SPEAKER_00: Thank you for joining us for this episode of DevQuestions Tim is committed to making it easier for you to become a developer.
- 20:02SPEAKER_00: If you would like to help make more content like this possible please like subscribe rate and share dev questions.
- 20:10SPEAKER_00: You can also send your questions to questions at IamTimcore.com.
- 20:15SPEAKER_00: Until next time, remember you are too smart and your time too valuable to waste it making all the mistakes Tim did.
- 20:22SPEAKER_00: When you're ready to learn to think and code like a professional developer head over to Iamtimcorey.com and enroll in the course