4 ms·
You are allowed to change your mind, aren't you? :) The goal for the initial .NET Core project was to have something cross-platform, modular and lightweight to
by josteink 6y ago
You are allowed to change your mind, aren't you? :)
The goal for the initial .NET Core project was to have something cross-platform, modular and lightweight to build Linux-deployable cloud-services with.
Once that reached a mature state, they could expand scope.
And now, after .NET Core 3.x has landed, it has matured so much, that MS can see one single unified path forward which also includes some things which previously was only possible using the traditional .NET Framework (4.8).
So now they are adding those use-cases to the "Core" package as well, without compromising on what .NET Core was supposed to deliver. I honestly don't see anything wrong with that.
- ptx 6y agoRight, but I think the complaint was that it was still immature and missing some use-cases covered by the old framework. Anyway, I do hope they succeed and the .NET 5 unification goes smoothly. I want those C# 9 features - but I also need some old third-party libraries to keep working.
- ta17711771 6y agoWhich ones, if you don't mind me asking out of curiosity?
- ptx 6y agoWhich features? Mostly data classes, a.k.a. records, and (from C# 8) non-nullable references. Kotlin has had these features for years and it makes things so much easier and cleaner IMHO.
- jasonlhy 6y agoI believe they tried to keep the C# version independently from the framework version, so people can use the new C# version on a old .net framework. But things seem impossible for some new features, for example async steam just need new feature from core CLR. So after .C#8, they decide only to support it on .NET core
- goto11 6y agoThe problem is it leaves all .net framework code on a dead-end platform. For all previous .net versions, code could be easily and safely upgraded to the next version because they were largely backwards compatible. But you can't easily upgrade existing code from 4.8 to 5. If you want to start a project from scratch, sure Core/5 is nice.
- josteink 6y ago> For all previous .net versions, code could be easily and safely upgraded to the next version because they were largely backwards compatible. But you can't easily upgrade existing code from 4.8 to 5. As someone who has been working with .NET since the first release: tell me about it! I fully concur. I don't deny this, nor excuse it. That said, I believe that once Microsoft decided that it was OK to break compatibility, they managed to improve upon lots of things which up until that point had become fairly painful on the traditional .NET Framework. You win some, you lose some, I guess?
- nycdotnet 6y agoBusiness logic ports over really well - we have been able to effectively copy and paste code and the corresponding tests between a legacy .NET Framework WinForms app and .NET Core 2.0 and later service (WebAPI or gRPC) and it mostly just works. The trouble comes when the code integrates heavily with a UI stack - that’s a lot more work to port over. It was pretty hard before .NET core 2 though. But .NET 4.8 will be supported as long as Windows 10 is - probably at least another 10 years or more.