I don't find this search reliable at all. There are a lot of completely unrelated results. I couldn't find any related match on the 2.000+ Python results, for example. Same with C++. This is being publicized as "proof" of the rumor but it's not representative at all.
The Windows C/C++ API returns a structure with version numbers [1], same with the C# one [2]. Other languages just wrap the native C API call, GetVersionEx.
The most troubled framework is Java: because of some strange design decision, you can only get the version as a string (see [3]), and that makes impressively easy for programmers to screw up version checks. However, as other commenters have said, those apps could run on compatibility mode and Windows would solve the issue itself instead of completely changing an operating system's name.
I'm sure the API provides the information, that doesn't stop developers from doing crazy things. The rumor, whether true or false, is actually just more evidence of how Microsoft is devoted to binary compatibility. It's a funny bit, yes, but doesn't say anything bad about MS at all.
My theory about the "Windows 10" name is that there is an intermediate Windows Phone release coming in early 2015, and they've decided to call that Windows Phone 9. Hence the unified release will be version 10.
I ran into some code a few days ago that wouldn't install because it was checking OS X version as a string and '10.10' < '10.5'. Bad code will always find a way
Apparently one of the perks to not calling it Windows 9 is that Microsoft doesn't have to deal with poorly written OS detection code that searches for "Windows 9" in expectation of it matching "Windows 95" or "Windows 98".
There are no APIs that return a string of the product name. GetVersionEx gives you numbers. To screw up in this manner, you have to be relying on at least two layers of broken code on top of the really simple API that you should be using directly.
So I don't buy this rumor at all. The number of real applications that 1) remember Windows 9x exist, 2) aren't completely broken on modern Windows anyway, and 3) go out of their way to use some convoluted version checking method has to be extremely small.
There won't be a windows 20, or anything closet to that. If we're still using computers the way we are now in 20 years, then we've seriously failed as a species.
There are no good reasons to check for an OS version anyway. Checking for the platform, ok. Not the version. That can be handled with feature detection.
I generally agree, but I'd amend that to "there are few good reasons". When an API is present but buggy, sometimes there's no good way around a version check. It can still be regarded as a last resort.
Sorry, but this doesn't even come close to working in the real world. If you're on the web, then this makes sense. However, on the metal, you need to know versions.
[+] [-] gjulianm|11 years ago|reply
The Windows C/C++ API returns a structure with version numbers [1], same with the C# one [2]. Other languages just wrap the native C API call, GetVersionEx.
The most troubled framework is Java: because of some strange design decision, you can only get the version as a string (see [3]), and that makes impressively easy for programmers to screw up version checks. However, as other commenters have said, those apps could run on compatibility mode and Windows would solve the issue itself instead of completely changing an operating system's name.
1: http://msdn.microsoft.com/en-us/library/windows/desktop/ms72... 2: http://msdn.microsoft.com/en-us/library/system.environment.o... 3: http://stackoverflow.com/questions/228477/how-do-i-programma...
[+] [-] micampe|11 years ago|reply
[+] [-] cobalt|11 years ago|reply
[+] [-] hk__2|11 years ago|reply
[+] [-] pavlov|11 years ago|reply
[+] [-] bcj|11 years ago|reply
[+] [-] songgao|11 years ago|reply
[+] [-] csandreasen|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] snarfy|11 years ago|reply
Or they could rename the entire OS.
[+] [-] TillE|11 years ago|reply
So I don't buy this rumor at all. The number of real applications that 1) remember Windows 9x exist, 2) aren't completely broken on modern Windows anyway, and 3) go out of their way to use some convoluted version checking method has to be extremely small.
[+] [-] campuscodi|11 years ago|reply
[+] [-] more_original|11 years ago|reply
[+] [-] DanBC|11 years ago|reply
[+] [-] unclebunkers|11 years ago|reply
[+] [-] outworlder|11 years ago|reply
[+] [-] ashearer|11 years ago|reply
[+] [-] unclebunkers|11 years ago|reply
[+] [-] nshepperd|11 years ago|reply
[+] [-] unknown|11 years ago|reply
[deleted]
[+] [-] serve_yay|11 years ago|reply
[+] [-] cssandjs|11 years ago|reply
So that's why they went with 10 - it makes sense now.