All I want is for dotnet watch to behave in a predictable way. In .NET 9, even when using —no-hot-reload, sometimes CSS changes to components are not picked up on Blazor components.
It’s so aggravating because ASP.NET with server side Blazor components really has it all: type safety, server-side components ala Astro, fantastic ORM model, great runtime perf. But this little issue makes dev quite tedious at present: did I mistype a Tailwind class name, or did dotnet watch miss the change?
I liked .NET but the performance was really bad for anything that had even reasonably latency requirements. But this was 15 years ago, so maybe it has improved. I don't remember exactly what I wanted to do but it was something like pumping some event every few milliseconds and it was basically impossible. The jitter was already larger than the interval.
Only thing I want to hear about lately is the next major version of Visual Studio, I feel like it will never come. I always feel like every major version has drastic improvements, and I'm starved for them.
They’re consolidating the tech with SQL Server Management Studio, last I heard. I think they mean to get the rewrite of SSMS out this fall, but I may be misremembering. A new major version of VS is probably coming, although I must say I’m pretty pleased with the current tranquility.
My favorite .NET 10 feature so far is not within the .NET library itself, but `dotnet tool exec` to run C# files as scripts without a build step. This has been available in F# for a long time via `dotnet fsi`, and for C# also via the third party cs-script tool. It took a surprisingly long time to officially reach the primary .NET language!
I only really wish C# would’ve been directly integrated as an alternative scripting language in PowerShell. You may balk at the idea for causing a ton of cruft for people who don’t need it; ”a whole new scripting language!” But the thing is — PowerShell already builds upon .NET so supporting a new language is a rather small effort (relatively speaking) if it happens to be a .NET language. And C# just feels so much better for me to code in when the scripts grow in size. I’m not sure I’ll ever become friends with the implicit returns. C# has become particularly suitable for scripting with the recent developments in the language: https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals...
It's great that Microsoft added this as an official feature but there has been an open-source third-party solution that does exactly the same thing for a long time: https://github.com/dotnet-script/dotnet-script
I haven't used C#/.NET since .NET 4 - I remember it was great, yet heavily tied into Visual Studio, and forget about using CLI for things like most other languages. It was all GUI or nothing. Insurmountable XML files.
How are things these days with .NET 10! Jesus, 10!
Dudes who use it daily, what is your favorite feature you think?
Everyone here missing some the main features of modern dotnet: cross-platform by default with the new runtime, CoreCLR (no more Mono).
Additionally, blazingly fast, especially as they continue to use stronger memory-aware primitives like Span<T> under the hood, and back that work with code in System.Numerics that continues to lean into hardware intrinsics.
C# itself is also an incredible language, much maturing since .NET 4. Things like Source Generators, record types, collection expressions... you can be _nearly_ as terse as something like python but with all the added benefit of C#'s type system (AND you get LINQ!).
People act like C# is some weird hanger-on dinosaur of a previous age of "tech" that people hang on to out of stubbornness, but IMO it's one of the most forward thinking languages today with an incredibly powerful runtime to boot.
reminder the .net compiler is IP of microsoft and they state this clearly when you invoke it on any platform other than windows. you are merging your company with microsoft and windows if you use it.
All these changes, yet still no satisfactory UI framework.
Still no migration path from WinForms to something modern.
I love .NET but if you're taking on an older desktop app that is still using VB.NET and WinForms it feels like Microsoft have decided to let you circle the drain with no supported way forward into MAUI or whatever stupid XAML UI they decided is the solution these days.
On a server, .NET is fantastic and it's entirely possible to build and debug your system on Linux with no loss of productivity, but the desktop stuff is bad and getting worse.
I've tried each iteration of UI paradigm they've tried since WinRT and never really had any significant problems with any of them. WinRT, UWP, WinUI, MAUI...
But then they aren't even willing to invest the time to dogfood their own products and fully replace the windows UI. Really doesn't inspire confidence.
I suspect they also made a bad bet by going so hard on blazor without putting more support behind WASM itself. Now that's stalled out with WASM's own failure to reach critical mass.
Assuming the web is not an option for whatever reason.
I did some Win32 interop recently and found it to be refreshing. It's definitely lower level and more difficult, but it will outlive all of these other paths.
Using tools like cswin32 makes this a lot more tolerable development experience from managed code.
23 comments
[ 2.4 ms ] story [ 60.1 ms ] threadIt’s so aggravating because ASP.NET with server side Blazor components really has it all: type safety, server-side components ala Astro, fantastic ORM model, great runtime perf. But this little issue makes dev quite tedious at present: did I mistype a Tailwind class name, or did dotnet watch miss the change?
https://devblogs.microsoft.com/dotnet/dotnet-10-preview-6/
Great CLI, great package manager, very good stdlib, strong IDEs/Debuggers, etc.
but sadly interesting jobs like OSes, databases and compilers are way less common than in C++ world :(
I only really wish C# would’ve been directly integrated as an alternative scripting language in PowerShell. You may balk at the idea for causing a ton of cruft for people who don’t need it; ”a whole new scripting language!” But the thing is — PowerShell already builds upon .NET so supporting a new language is a rather small effort (relatively speaking) if it happens to be a .NET language. And C# just feels so much better for me to code in when the scripts grow in size. I’m not sure I’ll ever become friends with the implicit returns. C# has become particularly suitable for scripting with the recent developments in the language: https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals...
How are things these days with .NET 10! Jesus, 10!
Dudes who use it daily, what is your favorite feature you think?
Additionally, blazingly fast, especially as they continue to use stronger memory-aware primitives like Span<T> under the hood, and back that work with code in System.Numerics that continues to lean into hardware intrinsics.
C# itself is also an incredible language, much maturing since .NET 4. Things like Source Generators, record types, collection expressions... you can be _nearly_ as terse as something like python but with all the added benefit of C#'s type system (AND you get LINQ!).
People act like C# is some weird hanger-on dinosaur of a previous age of "tech" that people hang on to out of stubbornness, but IMO it's one of the most forward thinking languages today with an incredibly powerful runtime to boot.
https://github.com/CarterCommunity/Carter
My current absolute favorite is .NET Aspire. Build distributed applications with an OTEL support dashboard - up and running in minutes.
https://learn.microsoft.com/en-gb/dotnet/aspire/whats-new/do...
Only gap in Aspire is deployment (k8s) tooling which is on the way.
Still no migration path from WinForms to something modern.
I love .NET but if you're taking on an older desktop app that is still using VB.NET and WinForms it feels like Microsoft have decided to let you circle the drain with no supported way forward into MAUI or whatever stupid XAML UI they decided is the solution these days.
On a server, .NET is fantastic and it's entirely possible to build and debug your system on Linux with no loss of productivity, but the desktop stuff is bad and getting worse.
But then they aren't even willing to invest the time to dogfood their own products and fully replace the windows UI. Really doesn't inspire confidence.
I suspect they also made a bad bet by going so hard on blazor without putting more support behind WASM itself. Now that's stalled out with WASM's own failure to reach critical mass.
I did some Win32 interop recently and found it to be refreshing. It's definitely lower level and more difficult, but it will outlive all of these other paths.
Using tools like cswin32 makes this a lot more tolerable development experience from managed code.
Is Swing the competition? It feels like mobile and web stacks have really sucked the air out of the room.
It'll probably not be really useful until multiple files support arrives in .NET 11: https://github.com/dotnet/sdk/issues/48174