I really don’t think it’s that bad. The only weird thing is .NET Core becoming just .NET in version 5.
Not too weird… It’s the “one true .NET version” now. The legacy .NET Framework had a good run but it’s not really receiving updates any more.
I have no complaints about just calling it .NET. The distinction between .NET and .NET Framework isn’t much of a problem. It’s the fact that .NET and .NET Core aren’t actually different that’s odd. It underwent a name change without really being a different project, meanwhile the Framework -> Core change was actually a new project.
It underwent a name change without really being a different project
The name difference was only to differentiate the legacy .NET Framework with the new .NET Core while both were being developed concurrently. They never intended to keep the “Core” suffix forever. .NET Core had a lot of missing APIs compared to .NET Framework 4.5., and “.NET 1.0” would have been ambiguous. It was to signify that it was a new API that isn’t fully compatible yet.
Once .NET Core implemented nearly all the APIs from the legacy .NET Framework, the version numbers were no longer ambiguous (starting from .NET 5.0), and the legacy framework wasn’t used as much as it used to be, it made sense to drop the “Core” suffix :)
Actually they are different.
.Net core, mono and xamarin used to be completely separate and slightly incompatible runtimes.
They have all been unified under .Net so c# (and other .net languages) will run exactly the same on each.
So the coreclr runtime still exists but you no longer need to target it specifically.