MaxiTB

@maxitb
17 Followers
3 Following
600 Posts
The real MaxiTB since 1986. Personal account. Definitely not a German. Software architect, overpaid consultant and former game dev. In stats we trust.
restrictedhttps://www.maxisoft.org
pronunciation/mäk′sē/ /tē/ /bē/
nationalityNot-a-german
countries visited non-professional for at least 7 days90+
Well, looks like the AI bubble is bursting a bit faster than expected and #microsoft takes the lead 🙂
One thing about nullable reference types I personally find still a bit annoying is that you need the bang operator (!) in #csharp for #linq2sql expressions like OrderBy or Where even though it doesn't matter for the translated SQL. I wonder if there's a way to fix that without making a potentially not loaded entity non-nullable and hope for the best.
Anyone got an idea if there's something in the pipeline for that or perhaps an open feature request to vote up?
SharpLab

C#/VB/F# compiler playground.

There is a years-old bug when it comes to #dotnet async data fetching of large records via Microsoft.Data.SqlClient (also used by EF and still present with #EF9). Personally I use Postgres, so I wasn't aware of this, so here a video explaining it nicely and how to mitigate the issue at least:
https://www.youtube.com/watch?v=7iuUh0BIAuE
Navigating Async Challenges in EF Core for Large Data Retrieval

YouTube
Performance Improvements in .NET 9

YouTube
@alvinashcraft I was expecting .NET 9 to launch in early November - is there secret date when it actually gets published?

Three of the main issues with C# are:
- Nullability
- Immutability
- Disposable objects
Now for all three there are imperfect solutions available, but obviously with a decades long legacy there were limits how far those implementations could go.

A good example is foreach - using a IEnumerable<> will most likely result in a costly try-finally block even when no disposing is needed. Sadly we got no IDisposableEnumerator from the start but the generic approach was chosen.

You can see more info about the state of extension everything here:
https://www.youtube/watch?v=O3hx6oPWzX8&t=1060

BTW I think it's very bad practice to rename framework types for one simple reason: It makes the code unreadable to everyone but you, even with best intentions in mind. So you might make yourself more enemies than friends going down this road.

What professional software developers do in their spare time.