Hacker News new | ask | show | jobs
by TMWNN 1778 days ago
Is it true that Microsoft skipped Windows 9 because too many applications check for "Windows 9*", and would have thought that they are running on Windows 95 or 98?
4 comments

It strikes me as plausible. If the devs thought that Microsoft was going to keep their year based naming system then it wouldn't be a problem for another 100 years, by which point they would be long dead and it would be someone else's problem. The fact that there were two versions to check also meant that the shortcut of only checking the first digit is understandable. Also, if the version strings included extra cruft, like Windows 98SE2 then stopping the check early makes sense over trying for explicit string matches.

Of course Windows 10 was supposed to be the last version ever in Apple OSX style, but now we have beta for Windows 11. The lesson is: never trust what Microsoft tells you about their intentions.

You had to check for Windows ME as well so couldn't limit to the first digit.
None of the native APIs return the version number as a string, and to see a version > Vista you need to declare the minimum supported version anyway. But I can see this being a problem in some scripted languages, maybe.

Personally I believe they wanted to avoid Windows NEIN, or it's some marketing BS to jump a number and pull up to OS X (10).

I think that concern was mostly apocryphal, but such things demonstrably do exist [1]:

    } else if (osName.startsWith("Windows")) {
        if (osName.indexOf("9") != -1) {
            jvm = WINDOWS_9x;
[1] https://github.com/Elblonko/kepler/blob/48618dc2233781656e63...
They've never confirmed it, but yes, that was the strong suspicion at the time.

Fortunately, they've got some runway before Windows 30 brings back the same problem.

LOL.

Luckily for future people they already can't run those old 16 bit programs. The 64 bit transition finally put the last nail in that coffin.

This sort of problem has happened more than once at Microsoft:

• Windows 95 reports its version as “3.95” even though it's really version 4

• Windows 10, of course

With 10 they decided to stop telling applications the latest version number unless they opt in via some special token not known in advance.