Tangentially related but I was impressed with .NET recently. I was recently tasked with tackling an extremely old and proprietary video format that embedded GPS, video, audio, and several other components. The files were huge and just a mess to understand and I eventually found an old player application that was also proprietary.<p>I decompiled it into C# and stripped the player aspect out of it leaving the code the peeled back the container and allowed me to export MP4 and other pieces. After getting to build into a console application on windows on .net 4 I think I decided to give it a go to upgrade it enough to compile AND run on linux. I upgraded 2x and then updated around 10-15 lines of code that no longer compiled. It was extremely easy considering there were 1000s of lines of code to parse this format. I finally got it running on linux and it only took about a day of full effort. Pretty crazy considering the code I was running was over 10 years old.
Lots of very cool stuff here (AOT, Aspire, etc.).<p>.NET has been held down by the image of its early days, but it has become a pure joy to work with recently. The improvements in tooling and ergonomics have made it a replacement for Go in our org (we migrated from .NET Core 3.1 to Go back to .NET 6 recently).
It may go under the radar of many but .NET 8 comes with DynamicPGO which is now enabled by default (improved since its earlier iterations in 6 and 7, which were opt-it).<p>It will help numerous abstraction-heavy codebases the most thanks to guarded devirtualization of interface/virtual calls, delegate inlining and branch reordering which has progressively more impact the more bloated code is.
Can I get an explanation of the relationship between .NET and Mono?<p>I have vague memory of reading somewhere that Mono or maybe just MonoBuild was completely obsolete since everything was now open source in .NET.<p>Does Mono still have a reason to exist? Is it all incorporated into .NET now?<p>(btw, I still don't get why it's called .NET, and I don't know if assemblies are native code or bytecode wrapped in the same binary format as .exe, where is the ".NET for hardcore open source Linux nerds" blog post?)
I just wish its cross-platform UIs weren't such a mess. Particularly with its MVCish implementation, it was like it couldn't decide what it wanted to be.<p>I really really wish there was a good, straightforward desktop GUI for .Net that simply worked crossplatform and wasn't a complete pain in the ass to program.
As full stack .net dev, I am so disappointed every “who is hiring” thread. I would be game to join a trendier group of like minded devs but if you get one .net posting you are lucky, and it’s most likely rockstar.<p>:(
Blazor actually looks compelling now that it has server side streaming and rendering, as well as component level interactivity.<p>Once .NET is integrated with the new WasmGC features, it will get even better! (I don't think they mentioned WasmGC on the roadmap but I can bet anything they're going to do it).
Apart from the very welcome QoL features in C# 12 (collection literals, primary constructors for ordinary classes), the "Aspire" announcement is very interesting. Haven't decided yet if its a good thing or too much "magic".
The new interceptors in C# 12 look pretty wild. Will have to play around with them. Was hoping for more of a PostSharp style AOP framework, and this doesn't appear to be that.
Adding spreading is neat, but curious why they chose to go the two dot route instead of three. It's been a while since I've worked in C#, so I can't remember if there are any reserved implications of three dots.
I'm looking at a language to write simple executables with or without GUI and that are not too verbose or too complicated. A bit like a compiled python :)<p>Would .NET 8 be a good challenger ? I previously didn't consider it because the compilation to binary was looking more like an experiment, and the example I've seen were quite verbose (in a java way).
Curious if these improvements to F# signal that it has improved standing in the ecosystem.<p><a href="https://devblogs.microsoft.com/dotnet/announcing-fsharp-8/" rel="nofollow noreferrer">https://devblogs.microsoft.com/dotnet/announcing-fsharp-8/</a>
They link to "Announcing C# 12", but not a single mention of F# and "Announcing F# 8"[1], huh? (Edit: At least there's a link now.)<p>It actually addresses several warts (finally span pinning!), brings some new shortands, makes the syntax more uniform and comes with some performance improvements as well.<p>[1]: <a href="https://devblogs.microsoft.com/dotnet/announcing-fsharp-8/" rel="nofollow noreferrer">https://devblogs.microsoft.com/dotnet/announcing-fsharp-8/</a>
I haven't touched .NET in well over a decade. Last time I tried, I felt like a chimpanzee strapped into the cockpit of an F-15. Everything was "deploy!" and "endpoint for automatic upgrades" and "<i>ENTERPRISE</i>" and "web service."<p>Does .NET have any "write a small program that is only a CLI?" options? Or GUI instead of web interface? Something modest.
Super stoked for a few things.<p>List expressions I'm overly excited about. Can't wait to use and of course dictionary expressions will be amazing in the future.<p>EF Core complex types. Also it'll be fantastic when these can be used to model composite keys.<p>The using enhancements. Hopefully I don't end up overusing tuples.<p>If Orleans had secretly been working on reminders v2 it'd be early Christmas.
What's new in .NET 8? - <a href="https://pvs-studio.com/en/blog/posts/csharp/1080/" rel="nofollow noreferrer">https://pvs-studio.com/en/blog/posts/csharp/1080/</a>
Been away from .NET for many years. In those days, business logic was largely represented as procedural code using classes for organization, manipulating recordsets or datasets.<p>Is that still the case?