> .Net standard isn't really the same as Ruby or Python specs, not that it isn't welcome but you can't just brush the complexity under the carpet like that.
That's exactly what it is, actually. It has several versions, so does a lot of language like Java or C++. If it has more complexity than that, I would welcome you to give concrete exemple of what it contains that isn't in other language's specs.
> Also, you have the version number confusion, for example .Net Core 2.0 vs .Net 2.0, one was released 12 years ago, the other in a month. It's all as clear as mud.
While I agree it may not be clear on the first look, anyone investing more than 2 minutes in .Net understands the difference and is never confused again.
".Net" (this name alone) is the legacy name of what is now called the ".Net Framework", the original and still current implementation of the plateform aimed to run on windows only; what you refer to ".Net 2.0" is ".Net Framework 2.0", and is now always referenced by that name.
".Net Core" is another implementation, one that is aimed at being portable and running on other OSes too.
The table on .Net Standard page makes this very clear, you can see the revisions of the standard on the X axis, and all the implementation on the Y axis, .Net Framework and .Net Core being two different implementation: https://docs.microsoft.com/en-us/dotnet/standard/net-standar...
For reference, here is the very same kind of grid for another language (here C++): http://en.cppreference.com/w/cpp/compiler_support
Again, I am not saying the name are very well chosen or super clear to someone who glances at it once every 5 years, but anyone actually interested in .Net needs about 3 minutes to clear that up and never have to ask any question about that again.