6 ms·
.NET 9
- orra 2y agoNot an LTS, but a tempting upgrade what with the performance fixes. EF 9 has some good fixes, and even better, the better, works on .NET 8.
- mikece 2y agoAt only three years the "LTS" releases aren't exactly "long term" either.
- orra 2y agoTrue, for a corporation it's not that long. But as a developer it's nice for there to be momentum for platform updates. I discovered last week that .NET Framework v3.5 is still technically supported. Shudder.
- mikece 2y agoWhy shudder? Sure, devops to VMs instead of .NET Core containers isn't as nifty but there is something to be said for code that can run for 5+ years without needing to be touched. Zero-maintenance is a big selling point but right now MSFT is requiring us to update ALL of our code just to rev the version every 36 months (not counting security issues -- we lost more than two weeks of productivity eradicating the Newtonsoft exploit at my last company).
- neonsunset 2y agoStaying with .NET Framework is a factor that increases talent attrition and the cost because less people are willing to work with it. This is without discussing technical downsides.
- metaltyphoon 2y ago> Staying with .NET Framework is a factor that increases talent attrition 100% this. If a company is not willing to move the product forwards because "there is no need to" then I would be looking else where. .NET Core will be a decade old very soon and a company not willing to move to that tech stack is just pure neglect.
- mikece 2y agoYou're assuming a workshop where there's just one significant app. The last several places I've worked there were dozens of apps, microservices, and APIs; some of the old and stable APIs were .NET Framework and those never needed to be touched. We built all of the new hotness using .NET Core, Blazor, and whatever the JS framework de jour was, all without needing to touch the old, stable, and working Framework code happly humming along in its VM.
- orra 2y agoBut even old .NET code needs touched. Every month, transitive dependencies need upgraded for security fixes. And that's when you realise SDK style projects are much nicer than the old project files. The tooling has massively improved in the past decade.
- deleted 2y ago[deleted]
- moogly 2y agoImagine if you could actually download it too. Why is it taking so long?
- DASD 2y agoFinally available.
- cjblomqvist 2y agoAnyone knows how to/if it's possible to setup c# 13 with the new semi-auto property (field) feature? I know it's not part of "standard" c# 13 out-of-the-box
- zigzag312 2y agoI love that NativeAOT is making slow but steady progress through C# ecosystem.
- nodra 2y agoIs no generics with AOT the only catch?
- neonsunset 2y agoWhy would generics not work with AOT?
- nodra 2y agoI meant open generics. My wording was incomplete.
- neonsunset 2y agoWhy would open generics not work? If generics had any issues on NativeAOT it would have been an unusable target.
- nodra 2y agoLast time I tried I had troubles. My understanding is open generics (like List<T>, without specifying T) don’t fully compile because Native AOT lacks a JIT to handle unspecified types at runtime. Closed generics work fine, though, as they’re fully known at compile time. Am I wrong in my thinking?
- neonsunset 2y agoThis does not line up with the implementation. You may want to ask in DotNetEvolution or dotnet/runtime discussions as there you can get a definitive answer why something didn't work - most of the time it is best to avoid such assumptions. Open generics simply propagate type parameters down - T: class produce shared method bodies, as they do with the JIT with the type being passed implicitly. For T: struct the corresponding code is fully monomorphized. This is not related to JIT at all where the main distinction with NativeAOT is when compilation happens. All generic scenarios are supported. Unbound un-analyzable reflection as well as anything that requires JIT like assembly loading or reflection emit - this doesn't work for obvious reasons.
- balencpp 2y ago.NET has come to be a very solid, performant, cross-platform, productive runtime. I always come back to it for most projects. Thanks to everyone involved!