Search a title or topic

Over 20 million podcasts, powered by 

Player FM logo
Artwork

Content provided by George Stocker. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by George Stocker or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.
Player FM - Podcast App
Go offline with the Player FM app!

.NET Framework is dead, long live .NET!

12:55
 
Share
 

Manage episode 302805662 series 2984906
Content provided by George Stocker. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by George Stocker or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

📢 .NET 5 has been released. As a reminder, .NET Framework 4.8 is the last, and dare I say, legacy version of .NET. .NET 5 is .NET Core 3.1 renamed to .NET, so that going forward -- at least in name, .NET is unified. .NET 6 will actually unify all the different frameworks under the umbrella of .NET, but 5 is the aspirational name change.

As a minor note, ASP.NET Core on .NET 5 is the name for ASP.NET Core. It works, as long as you don't think about it too hard. Also "Core" is an overloaded term now. Enjoy!

🆕 With .NET 5, "Single File Applications" are now Generally Available. A single file application is not what it sounds like because naming is hard. 'File' here means 'output file', not source code file (that will become important in a minute). With .NET 5 you can now deploy a statically linked executable that contains the runtime and everything it needs in a single file. If you've created a Go application, this is that. Also note that it appears they've now changed the name from "Single file application" to "Single file Deployment", which is a good name change in my opinion.

🆕 Also with .NET 5, you can now have a... sigh.. single source code file application with what the .NET team calls "Top Level Statements". Instead of the ceremony with static void main; you can just start diving in to the code and it'll just work.

.NET 5 will not offer replacements for ASP.NET Webforms, WCF, Windows Workflow Foundation. If you want to adopt .NET 5, then you'd need to look at their alternatives; which are ASP.NET Core Blazor, gRPC, and Open-source CoreWF respectively. I feel bad for the half of you that will never be able to adopt .NET 5 because your business is running on Webforms and there is no upgrade path without a rewrite.

🆕 System.Text.Json Aka Microsoft's "Newtonsoft Json replacement" has got some new features. If you're adopting .NET 5, you're going to want to pay attention, as Newtonsoft.Json is no longer being developed. If you are just catching up, they hired JNK about a year ago and quickly put Newtonsoft.Json out to pasture. System.Text.Json is your new replacement.

🆕 C# 9 records are now generally available. A record is a way to effectively have an (almost) immutable DTO without all of the ceremony that DTOs used to take. If you have a property-based object with no behavior (methods), then you should strongly consider a record.

🆕 C# 9 also brings us "enhanced pattern matching" which is a fancy phrase for "one step closer to Perl". That's great for me since I love perl, but can you imagine trying to debug this?

public static bool IsLetterOrSeparator(this char c) => c is (>= 'a' and <= 'z') or (>= 'A' and <= 'Z') or '.' or ',';

🆕 C# 9 also allows you to omit the declaration of the type when constructing a new object Was typing really that hard? In an ideal world where people wrote maintainable code by default this is a nice change; but here in the real world I can already imagine the stuff we're going to see five years from now with this change.

private List _observations = new(); var forecast = station.ForecastFor(DateTime.Now.AddDays(2), new()); WeatherStation station = new() { Location = "Seattle, WA" };

Your choice is to now either be var based or this new-fangled (sorry) new() based. We did not need another programming holy war, but it appears we're going to get it.

There are more C# 9 changes; but those are the highlights.

🆕 The hipster's C# has also gotten updates -- F# 5 is now generally available. The blog post says there are several updates, but it appears like "Several" is doing a lot of heavy lifting in that sentence. That I can see there are two updates: String Interpolation and Typed Interpolation. Hooray?

📢 Visual Basic for .NET 5 has been released. There are no new updates (and no more language updates are planned), but VB.NET will support the project types that C# supports. Look at the flowers, VB.

📢 .NET 5 supports Web Assembly through Client-side Blazor, and Blazor has gotten several improvements. This is cool, but the target isn't people who are using JavaScript... It's... Webforms? Microsoft, among others, has tried several times to knock JavaScript off of its throne was the go-to language for Rich Internet Applications, and it hasn't worked yet -- but the Webforms folks need a new approach, and Blazor provides that.

📢 EF Core 5 for .NET 5 has been released I can't make it through the 81+ features they've added since 3.1 without worrying for the health of the EF team, but I'll at least try to hum a few bars: Many to Many relationships, EF Core CLI, ChangeTracker.Clear, Improved Code First Scaffolding, and more. Yes, and more.

📢 .NET Core 3.1.10 has been released. This is a bugfix release; centered mostly on EF Core 3.1 and ASP.NET Core.

📢 Microsoft.Data.Sqlite 5.0 has been released. Some nice goodies here if you use Sqlite; so enjoy.

📝 Ten ways your data project is going to fail to which I reply -- only 10? That's a much more manageable number than usual.

📝 Everything you wanted to know about Nuget Package versioning Look this stuff is not fun to read about; but sooner or later you or someone you love will spend a few days mired in package versioning hell, so bookmark this for that eventuality.

📝 Dave Brock shows you how to update the tag with Blazor. If you adopt blazor you now get to learn new ways of doing those things you already knew how to do in JavaScript. Weeeee.

📰 Mads Torgerson talks about why C# is popular and where it's going from here C# is popular with businesses and its leg up on JavaScript is that it's stable. If the JS folks ever figure that out, C# is in trouble, but we're not ready to have that discussion yet.

📝 .NET IoT Libraries documentation has been published. I like this as it makes low level programming approachable ...

  continue reading

63 episodes

Artwork
iconShare
 
Manage episode 302805662 series 2984906
Content provided by George Stocker. All podcast content including episodes, graphics, and podcast descriptions are uploaded and provided directly by George Stocker or their podcast platform partner. If you believe someone is using your copyrighted work without your permission, you can follow the process outlined here https://podcastplayer.com/legal.

📢 .NET 5 has been released. As a reminder, .NET Framework 4.8 is the last, and dare I say, legacy version of .NET. .NET 5 is .NET Core 3.1 renamed to .NET, so that going forward -- at least in name, .NET is unified. .NET 6 will actually unify all the different frameworks under the umbrella of .NET, but 5 is the aspirational name change.

As a minor note, ASP.NET Core on .NET 5 is the name for ASP.NET Core. It works, as long as you don't think about it too hard. Also "Core" is an overloaded term now. Enjoy!

🆕 With .NET 5, "Single File Applications" are now Generally Available. A single file application is not what it sounds like because naming is hard. 'File' here means 'output file', not source code file (that will become important in a minute). With .NET 5 you can now deploy a statically linked executable that contains the runtime and everything it needs in a single file. If you've created a Go application, this is that. Also note that it appears they've now changed the name from "Single file application" to "Single file Deployment", which is a good name change in my opinion.

🆕 Also with .NET 5, you can now have a... sigh.. single source code file application with what the .NET team calls "Top Level Statements". Instead of the ceremony with static void main; you can just start diving in to the code and it'll just work.

.NET 5 will not offer replacements for ASP.NET Webforms, WCF, Windows Workflow Foundation. If you want to adopt .NET 5, then you'd need to look at their alternatives; which are ASP.NET Core Blazor, gRPC, and Open-source CoreWF respectively. I feel bad for the half of you that will never be able to adopt .NET 5 because your business is running on Webforms and there is no upgrade path without a rewrite.

🆕 System.Text.Json Aka Microsoft's "Newtonsoft Json replacement" has got some new features. If you're adopting .NET 5, you're going to want to pay attention, as Newtonsoft.Json is no longer being developed. If you are just catching up, they hired JNK about a year ago and quickly put Newtonsoft.Json out to pasture. System.Text.Json is your new replacement.

🆕 C# 9 records are now generally available. A record is a way to effectively have an (almost) immutable DTO without all of the ceremony that DTOs used to take. If you have a property-based object with no behavior (methods), then you should strongly consider a record.

🆕 C# 9 also brings us "enhanced pattern matching" which is a fancy phrase for "one step closer to Perl". That's great for me since I love perl, but can you imagine trying to debug this?

public static bool IsLetterOrSeparator(this char c) => c is (>= 'a' and <= 'z') or (>= 'A' and <= 'Z') or '.' or ',';

🆕 C# 9 also allows you to omit the declaration of the type when constructing a new object Was typing really that hard? In an ideal world where people wrote maintainable code by default this is a nice change; but here in the real world I can already imagine the stuff we're going to see five years from now with this change.

private List _observations = new(); var forecast = station.ForecastFor(DateTime.Now.AddDays(2), new()); WeatherStation station = new() { Location = "Seattle, WA" };

Your choice is to now either be var based or this new-fangled (sorry) new() based. We did not need another programming holy war, but it appears we're going to get it.

There are more C# 9 changes; but those are the highlights.

🆕 The hipster's C# has also gotten updates -- F# 5 is now generally available. The blog post says there are several updates, but it appears like "Several" is doing a lot of heavy lifting in that sentence. That I can see there are two updates: String Interpolation and Typed Interpolation. Hooray?

📢 Visual Basic for .NET 5 has been released. There are no new updates (and no more language updates are planned), but VB.NET will support the project types that C# supports. Look at the flowers, VB.

📢 .NET 5 supports Web Assembly through Client-side Blazor, and Blazor has gotten several improvements. This is cool, but the target isn't people who are using JavaScript... It's... Webforms? Microsoft, among others, has tried several times to knock JavaScript off of its throne was the go-to language for Rich Internet Applications, and it hasn't worked yet -- but the Webforms folks need a new approach, and Blazor provides that.

📢 EF Core 5 for .NET 5 has been released I can't make it through the 81+ features they've added since 3.1 without worrying for the health of the EF team, but I'll at least try to hum a few bars: Many to Many relationships, EF Core CLI, ChangeTracker.Clear, Improved Code First Scaffolding, and more. Yes, and more.

📢 .NET Core 3.1.10 has been released. This is a bugfix release; centered mostly on EF Core 3.1 and ASP.NET Core.

📢 Microsoft.Data.Sqlite 5.0 has been released. Some nice goodies here if you use Sqlite; so enjoy.

📝 Ten ways your data project is going to fail to which I reply -- only 10? That's a much more manageable number than usual.

📝 Everything you wanted to know about Nuget Package versioning Look this stuff is not fun to read about; but sooner or later you or someone you love will spend a few days mired in package versioning hell, so bookmark this for that eventuality.

📝 Dave Brock shows you how to update the tag with Blazor. If you adopt blazor you now get to learn new ways of doing those things you already knew how to do in JavaScript. Weeeee.

📰 Mads Torgerson talks about why C# is popular and where it's going from here C# is popular with businesses and its leg up on JavaScript is that it's stable. If the JS folks ever figure that out, C# is in trouble, but we're not ready to have that discussion yet.

📝 .NET IoT Libraries documentation has been published. I like this as it makes low level programming approachable ...

  continue reading

63 episodes

All episodes

×
 
Loading …

Welcome to Player FM!

Player FM is scanning the web for high-quality podcasts for you to enjoy right now. It's the best podcast app and works on Android, iPhone, and the web. Signup to sync subscriptions across devices.

 

Listen to this show while you explore
Play