Sorry, what’s .Net again?
The runtime? You mean .Net, or .Net Core, or .Net Framework? Oh, you mean a web framework in .Net. Was that Asp.Net or AspNetcore?
Remind me why we let the “Can’t call it Windows 9” company design our enterprise language?
Can’t call it Windows 9
But that actually made sense! They care about backwards compatibility.
For those not in the know: some legacy software checked if the OS name began with “Windows 9” to differentiate between 95 and future versions.
some legacy software checked if the OS name began with “Windows 9” to differentiate between 95 and future versions.
This is a myth. Windows doesn’t even have an API to give you the marketing name of the OS. Internally, Windows 95 is version 4.0 and Windows 98 is 4.1. The API to get the version returns the major and minor version separately, so to check for Windows 95 you’d check if majorVersion = 4 and minorVersion = 0.
Edit: This is the return type from the API: https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-osversioninfoexa
Maybe it’s a myth, but it sure sounds plausible. The software that checks the “Windows 9” substring doesn’t even have to exist for this to be reason they chose to skip to version 10 — they just had to be concerned that it might exist.
Sure, maybe there’s no C function that returns the string, but there’s a
ver
command. It would be trivial to shell out to the command. https://en.wikipedia.org/wiki/Ver_(command)This doesn’t prove anything, but there are a TON of examples of code that checks for the substring. It’s not hard to imagine that code written circa 2000 would not be future proof. https://sourcegraph.com/search?q=context:global+“\“windows+9\””&patternType=keyword&sm=0
but there are a TON of examples of code that checks for the substring
oh
oh no
There’s code in the JDK that does that??
I really wish I didn’t see that.
The reason they checked that it started with “Windows 9” was because it worked for “Windows 95” and “Windows 98”
Strange argument… how does that prevent checks versus Windows 7, 8 and 1* all of which would be less than 9.
Because it checks if the version starts with the string “Windows 9*”, not wether the number is less than 9.
I scream silently everytime.
May I introduce you to Usb 3.x renaming?
3.0, 3.1Gen1, 3.2Gen1, 3.2Gen1x1 are the 5Gbps version.
3.1Gen2, 3.2Gen2, 3.2Gen1x2, 3.2Gen2x1 are the 10Gbps version.
Ok, but we all should admit: .net is a terrible name.
And then there’s .net classic and .net core. Making up two entirely separate names shouldn’t be difficult for marketing executives.
.NET Core doesn’t exist any more. It’s just .NET now. I think that changed around the release of .NET 5?
The classic version is mostly legacy at this point too.
Just because it’s no longer supported doesn’t mean there’s not some poor intern refactoring spaghetti backend in a basement somewhere using it.
Sure, but you can still find plenty of info on it by searching for .NET Framework or .NET 4.6. All the documentation is still available. Its just not in the spotlight any more.