When quizzed about why the new Windows is called Windows 10, instead of Windows 9, Windows chiefs Terry Myerson and Joe Belfiore avoided giving a straight answer, choosing instead to joke that ‘seven ate nine’. The real reason however is slightly more technical, and involves the way code has been written for 3rd party programs running on the Windows platform.
Think of it as something similar to the Y2K bug when we realized using two digits to represent the year was going to suddenly cause computers to roll back to the 1900’s.
Over the years, a lot of code has been written to identify two particular versions of Windows, Windows 95 and Windows 98 by using only the starting string. So instead of identifying Windows 95 and Windows 98 by a rather long statement like this:
if (osName.startsWith("Windows")) { isWindows = true; if (osName.startsWith("Windows 95") || (osName.startsWith("Windows 98") || osName.startsWith("Windows Me")) return; // win9x/Me cannot handle long paths }
Programmers would use the following shorter code which would yield the same results:
if (osName.startsWith("Windows")) { isWindows = true; if (osName.startsWith("Windows 9") || osName.startsWith("Windows Me")) return; // win9x/Me cannot handle long paths }
Unfortunately, this meant that calling the new Windows, Windows 9 would make all the applications still running on this piece of code see Windows 9 as either Windows 95 or Windows 98, not Windows 9. A quick check on searchcode.com reveals that there are over 4000 pieces of code which use this reference, and these are only those codes which are released to the public domain. There might be thousands more on commercial applications that use similar shortcuts to identify Windows 95 and Windows 98 machines that will stop working on Windows 9 if Microsoft went with that name.
Now you know.
Follow us on Instagram, Facebook, Twitter or Telegram for more updates and breaking news.