• QuentinCallaghan@sopuli.xyz
    link
    fedilink
    arrow-up
    17
    ·
    11 hours ago

    Newer software aimed at newer Windows versions usually had a code that checked the user’s Windows version. If the version began with a 9, it was interpreted as one of the Windows 9x operating systems, for which the software was unsupported. If that was the case, the user couldn’t run the software at all. Microsoft wanted to prevent such situation from happening with a new Windows release, so they skipped straight to 10.

    • AnyOldName3@lemmy.world
      link
      fedilink
      arrow-up
      7
      ·
      9 hours ago

      There was a function that would give you a monotonically-increasing build number that you could compare against the build that any given feature was added in that people should have used, but there was also a function that gave you the name of the OS, and lots of people just checked if that contained a 9. The documentation explicitly said not to do that because it might stop working, but the documentation has never stopped people using the wrong function.

      • Test_Tickles@lemmy.world
        link
        fedilink
        arrow-up
        5
        ·
        7 hours ago

        Microsoft’s version function didn’t return what you think it returned. They would deliver massive changes to OS functionality and call it “second edition” or just some service pack number. The version function gave you the same value for all of it. Literally, the only way to know what version you were working with was to parse the name. Microsoft’s own documentation on new functionality told you that was the way to do it. MS even gave you example code to copy and paste.
        It wasn’t until much later, well after the dumpster fire they had created was blazing away, that they took the time to revise the way any of it worked.

        • AnyOldName3@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          6 hours ago

          If you’re checking for Windows 9 in order to disable features, which is what the jump straight to ten was supposed to protect against (when running a 16-bit binary for 3.1/95 on 32-bit Windows 10, it lies and says it’s Windows 98), then you’re using at least the Windows 2000 SDK, which provided GetVersion, which includes the build and revision numbers in its return value, and the revision number was increased over 7000 times by updates to Windows 2000.

          • Test_Tickles@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            2 hours ago

            Ya, that is what I thought, but skipped because I couldn’t remember for sure. GetVersion didn’t even exist until win2k, so everyone already had their code that checked version numbers written and squared away. They never needed to go back and change it or read the new documentation.

  • Linktank@lemmy.today
    link
    fedilink
    arrow-up
    8
    ·
    15 hours ago

    I guarantee this is because they think people are so stupid they’ll see it as a 6 and think it’s 2 down from 8 instead of one up.

    (They’re right)

    • DarkSirrush@piefed.ca
      link
      fedilink
      English
      arrow-up
      15
      ·
      14 hours ago

      Windows did it because every programmer/scriptkiddie/etc ever checked if the version was 95/98 by looking for the 9, instead of separate checks for both.

    • macniel@feddit.org
      link
      fedilink
      arrow-up
      4
      ·
      10 hours ago

      Uhm no? The X is a Roman numeral and makes sense as it succeeded classic OS 9. OSX is based on NeXTStep though an Objective-C still carries its prefix with it (all Types are prefixed with NS for example NSString)

      • tenchiken@anarchist.nexus
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 hours ago

        Then why was it referred to as Mac os X 10, Mac os X 10.1, Mac os X 10.5 etc?

        tqK6wItWzELnjHc.jpg

        Dept of redundancy Dept I guess?

        There are many more examples.

        • macniel@feddit.org
          link
          fedilink
          arrow-up
          2
          ·
          7 hours ago

          But it wasn’t referred to Mac os X 10.1 etc only as Mac OS 10.1 or their respective codename (cheetah, tiger, …)