There is a rumor on the reason that Microsoft used the name Windows 10 instead of Windows 9: some lazy programmers used to use something like “osName.startsWith(“Windows 9″)” to determine if the current system is Windows 9x (for both Windows 95 and 98). If the new Windows was named after 9, such legacy software would be broken.

Here is a Reddit post discussing the rumor: http://redd.it/2i14ny, funny to read.

It seems that some programming frameworks, such as Java runtime libraries, do provide an easy way to determine OS versions, instead of the Windows API GetVersionEx returning some version numbers. In Java, one can use “System.getProperty(“os.name”)” to get a real OS product name represented in strings, and try doing “startsWith(“Windows 9″)” effectively leading to crappy problems in future.

Regardless of the truth of this rumor, programmers shall never make improper assumptions when writing their code: if you want Windows 98, then use “Windows 98”, and never assume that Microsoft will not announce a new Windows called “Windows 9-is-back”.