Today, we are excited to announce the launch of .NET 9, the most productive, modern, secure, intelligent, and performant release of .NET yet. It’s the result of another year of effort on the part of thousands of developers from around the world. This new release includes thousands of performance, security, and functional improvements. You will find sweeping enhancements across the entire .NET stack from the programming languages, developer tools, and workloads enabling you to build with a unified platform and easily infuse your apps with AI.
↫ .NET Team at the .Net Blog
All I know is that these are very important words, and a very important release, for thousands and thousands of unknown developers slaving away in obscurity, creating, maintaining, and fixing endless amounts of corporate software very few of us ever actually get to see very often. They toil away for meager pay in the 21st century version of the coal mines of the 19th century, without any recognition, appreciation, or applause. They work long hours, make their way through the urban planning hell that is modern America, and come home to make some gruel and drink water from lead pipes, waiting for the sweet relief of what little sleep they manage to get, only to do it all over again the next day.
…I may have a bit of a skewed perception of reality for most IT people.
In all seriousness, .NET is a hugely popular set of tools and frameworks, and while it’s probably not the most sexy topic in the tech world, any new release matters to a ton of people. .NET 9.0. This new version’s main focus seems to be performance, with over 1000 performance-related changes tot he various components that make up .NET. In a blog post about these performance improvements, Stephen Toub explains in great detail what some of the improvements are, and where the benefits lie.
Of course, there’s an insane amount of talk about “AI” features in .NET 9, and apparently .NET MAUI is seeing a surge in popularity on Android, if you believe Microsoft (“30$” increase in “developer usage” means little when you don’t provide a baseline). .NET MAUI is Microsoft’s cross-platform framework for building applications for Android, iOS, macOS, and Windows. Among other things, .NET MAUI 9 provides more access to platform-native features, as well as benefiting from some of the performance improvements.
There’s also a paragraph about .NET 9 development on Windows, just in case you thought the .NET team forgot Windows existed.
With .NET 9, your Windows apps will have access to the latest OS features and capabilities while ensuring they are more performant and accessible than ever before. Whether you are starting a new modern app with WinUI 3 and the Windows App SDK or modernizing your existing WPF and WinForms applications, your Windows apps run best on .NET 9. We have been collaborating closely with the Windows developer community to bring features that you have been requesting. This includes Native AOT support for WinUI 3 for smaller and more performant apps, modern theming enhancements with Fluent UI for WPF, and WinForms gets a boost with a new Dark Mode, modern icon APIs, and improved asynchronous API access with
↫ .NET Team at the .Net BlogControl.InvokeAsync
.
There’s way more on top of all of this, from changes to the languages .NET uses to new releases of the various developer tools, like Visual Studio.
Your description made me laugh. You’re right that .NET powers a lot of the world without much recognition, and this is quietly going to be a meaningful release for a lot of people that build things many of us depend on, without us realising.
It’s worth noting that .NET is also a first class citizen on Linux these days, with the unfortunate exception of UI (note the missing platform on that MAUI list). I suppose Microsoft doesn’t want to deal with DE fragmentation on Linux any more than the rest of us do. Libraries like Avalonia exist to fill this niche, but they’re pretty much impossible to use without previous experience of the Windows-only UI libraries, which most non-Windows developers don’t have.
One major change is the removal of Swagger from ASP.NET templates. One thing that the same, which everyone was hoping would change, is that there are still no discriminated unions in C#. So implementing an Option monad or a Result type (a la Haskell, Rust) is still a pain. Fingers crossed for C# 14 and .NET 10.
Happy hacking.
In the meantime, there’s still F# for those lucky enough. Could get a lot more love from MS though.
I think C# devs should seriously consider moving to F# if they want these features.
The recent functional features that MS keeps adding to C# feels unnatural IMHO. Adoption among C# devs (at least where I work) for these new features have been very poor.
I use F# for most of my work, data processing and CLI tools, If it wasn’t for Ionide, it would have been close to unusable. Visual Studio needs more F# love, to be on parity with Ionide.
adkilla,
What is the high level pitch for F# over C#? I have zero experience with it.
Well, at least for me, it is because it is an OCaml clone.
If you have no idea what I am talking about, then this article should get you started: https://devblogs.microsoft.com/dotnet/why-is-fsharp-code-so-robust-and-reliable/
LOL “…I may have a bit of a skewed perception of reality for most IT people.” No, no, this checks out.
Yes, pretty accurate. Also, our name is “Dan, in IT.”
“This new version’s main focus seems to be performance”
This is good news for the likes of me, We use .net and we want performant code from it. Glad to hear about this. 🙂
We are in the process of moving a very old C and C++ code base to C# .net and it would be great to maintain good speed.
I look forward to seeing how our current projects perform on it.
Worst product name in the story of humany. “.net”.
A product of its time.
Not the first horrible name by Microsoft, they have a talent for it, Office, Word, Windows.
And this interesting disaster: Microsoft renames Microsoft Remote Desktop to Windows App
Lennie,
These are of course rather generic (ie not good for searching), but other than that I think the names are fine in terms of being sensical. But at least most searches can be resolved by adding “MS Office” “MS Word” “MS Windows” as necessary.
Huh. I missed that news.
https://www.techspot.com/news/104549-microsoft-new-windows-app-renamed-refreshed-remote-desktop.html
Wow that is most perplexing. Not only is it baffling for users, but it’s too generic to make any sense even for the target demographic. Maybe MS are trying to hijack the term, but still confusing as heck.
kwanbis,
At least today people know what it is, but yeah I can still remember the rollout for “.net” Nobody, including Microsoft’s own marketing, were really able to give a clear answer for what it was supposed to be. Luckily for Microsoft they already had brand recognition and staying power to move past that, but if they had been an obscure company, .net would have failed due to marketing that left it’s own target audience in the dark.
“30$” increase in “developer usage” !?
Is this a typo, @thom-holwerda? Do you mean 30% instead?
dungsaga,
Maybe he meant “$30”, there’s just no way to know 🙂