Report: Microsoft Skipped Windows 9 Due to Legacy Programming Conflicts

oldtaku

New member
Jan 7, 2011
639
0
0
Highly unlikey. Even if true, this kind of technical wibbling would never make it to the branding people.

But the nail in the coffin... The 'version' of Windows 9 would not be 'Windows 9'. It would be Version 6.4.

Vista: Version 6.0
Win7: Version 6.1
Win8: Version 6.2
Win8.1: Version 6.3
Win9: Version 6.4

This is because they're all variations on the Vista core (Win7 had huge fixes and speed and memory improvements over Vista core, but was still Vista core).

Edit: I see Strazdas and I were typing at the same time... well, he's right.
 

Adam Jensen_v1legacy

I never asked for this
Sep 8, 2011
6,651
0
0
oldtaku said:
Highly unlikey. Even if true, this kind of technical wibbling would never make it to the branding people.

But the nail in the coffin... The 'version' of Windows 9 would not be 'Windows 9'. It would be Version 6.4.

Vista: Version 6.0
Win7: Version 6.1
Win8: Version 6.2
Win8.1: Version 6.3
Win9: Version 6.4

This is because they're all variations on the Vista core (Win7 had huge fixes and speed and memory improvements over Vista core, but was still Vista core).

Edit: I see Strazdas and I were typing at the same time... well, he's right.
Exactly. Programs don't care about how you call Windows. You can call it anything you like. Programs will interpret only the signature in the code. And Microsoft could code the name however they wanted. They could call it Windows Lizard Jesus and still give it an official Windows 9 label.
 

Desworks

New member
Nov 18, 2009
151
0
0
Adam Jensen said:
oldtaku said:
Highly unlikey. Even if true, this kind of technical wibbling would never make it to the branding people.

But the nail in the coffin... The 'version' of Windows 9 would not be 'Windows 9'. It would be Version 6.4.

Vista: Version 6.0
Win7: Version 6.1
Win8: Version 6.2
Win8.1: Version 6.3
Win9: Version 6.4

This is because they're all variations on the Vista core (Win7 had huge fixes and speed and memory improvements over Vista core, but was still Vista core).

Edit: I see Strazdas and I were typing at the same time... well, he's right.
Exactly. Programs don't care about how you call Windows. You can call it anything you like. Programs will interpret only the signature in the code. And Microsoft could code the name however they wanted. They could call it Windows Lizard Jesus and still give it an official Windows 9 label.
Sadly, you are both underestimating the power of lazy coding. The functions that are causing this issue don't look for the windows Major and Minor versions, they instead parse the OSname. And located here is a list of open source example of this form of lazy code, so you can see just how widespread it is: https://searchcode.com/?q=if%28version%2Cstartswith%28%22windows%209%22%29&p=0

And that's just the public example of this. Depressing, right?

In fact, Microsoft's weird version numbering is also due to them having to adjust their version numbers to accommodate bad code. That's the reason that every release since Vista has been 6.x. In fact, as you can see here [http://msdn.microsoft.com/en-us/library/windows/desktop/ms724439.aspx], MS are considering retiring the whole GetVersion function, as they can't trust developers to write correct code.

There's a whole thread discussing this over at /r/programming [http://www.reddit.com/r/programming/comments/2i14ny/if_osnamestartswithwindows_9/] so stop by if you want to read more.
 

OldNewNewOld

New member
Mar 2, 2011
1,494
0
0
Strazdas said:
No, it's not a baseless fake rumor. It might be fake, but it's actually a real concern and I believe that Microsoft would be stupid if they didn't think about that. They don't check for the version number, they parse the OS name. While this might sound lazy, this was actually used for optimization purposes.
Windows 95 and 98 were extremely similar and pretty much 99% of all software run the exactly same. XP was rather different and some parts needed to change.
They parse the name of the OS and check to see which one it is. Instead of checking the version number, which have a rather bad way of numbering, this is shorter. Instead of checking for 4.0 and 4.1 which are two checks, it checks only once for Windows 9. While that seems like a small thing, just one check, it was a big thing back in the day when hardware was several tens of times weaker in all aspects. Developer would use all kinds of shortcuts to make the damn thing work faster and better.
They couldn't just check for Verson 4.x because windows ME is 4.9.

This is in no way lazy programming. Someone spent a while thinking of a way to optimize the code and cut each unnecessary step, including this one.
Adding to that the fact that most developer at that time didn't believe their software would be used even 15 years afterwards, it's neither their nor Microsoft's fault.

Also I honestly don't see the problem with skipping the number. People are out there just searching for a reason to have Microsoft for any tiny thing they do because they hate Windows 8, which was bad but not this level of crazy bad.
 

Imperioratorex Caprae

Henchgoat Emperor
May 15, 2010
5,499
0
0
TopazFusion said:
WeepingAngels said:
The 9x line ended 13 years ago, when XP replaced 98/ME. I really don't see the conflict.
Then you severely underestimate how many people are still using ancient legacy software.

There are businesses out there that are still using MS-DOS based software, to this day.
Its unfortunate that this is a thing too. Having worked as a tech most of my adult life, the last 10 years I've run into so many people clinging to super-outdated software out of fear or sometimes (highly warranted though) frustration that their old software has no analog in today's tech and no way to convert records from one program to a modern one. My advice to them was to invest in the best data entry employee they could hire and buy new software and set that person to hand enter each record from one device to the other, because there literally was no other solution. Many POS (point of sale, not the other use of that acronym...) systems are still using horribly outdated operating systems, a good example was a hotel I worked for in the early 2000's was using one of the original linux builds to run their entire computer systems (and the hardware was about as ancient, the printer was a dinosaur of a dot-matrix) and there were no plans to move away from that system either despite the huge problems it was beginning to cause. Maybe they've fixed the issue by now, but that was almost horrifying and it kept me from ever staying at that hotel or any of its chains because I didn't want my info on something that could be easily compromised.
Some people trade real security for the illusion of security, meaning most businesses won't pay for upgrades until after a disaster that cost them probably more than an upgrade and some minor inconveniences would have caused.

OT: There are a lot of lazy programmers out there, sure. However some of these legacy programs weren't designed to be used for so long of a time or they weren't programmed with the future in mind. Hell I would believe given the nature of some programmers I know that some of them even thought that Microsoft and Windows would have been factored out by the "superior O/S of Linux" by now. That last one sounds a bit condescending, and it might be a bit because its extremely narrow-minded to think that way. Just because an O/S may have been more secure or stable doesn't preclude the huge disconnect between the average end-user and the more knowledgeable techs and higher forms of PC users. Hell I know the risks and setbacks of using Windows, but I prefer it to Linux because I've been frustrated more by some barriers that using Linux presents, chiefly in gaming. I don't knock Linux at all, its good for a lot of things but ultimately what makes it less viable is that average folks are just not comfortable with it.
I digress though. Stuff like this happens, much like the Y2K bug where it was a legacy of programming that came back to bite the industry on the ass. Microsoft just decided to head that crap off at the pass this time around. Smart of them, dumb of the programmers who do crap like that. I understand parsing as a way of avoiding repetition while coding but even then I'd think that it would be smarter to go with the internal version numbers rather than the O/S name... ah well, this is why I'm not a programmer.
 

SpAc3man

New member
Jul 26, 2009
1,197
0
0
WeepingAngels said:
The 9x line ended 13 years ago, when XP replaced 98/ME. I really don't see the conflict.
It isn't necessarily about whether the software is that old or not.
Software may check for 95/98 just to say "No, I wont run on this OS". It would be a disaster if that happened on Windows 9.

Not that I believe this rumour. Windows 10 is the 10th Windows when you consider 8.1 as the 9th Windows.
 

Evil Smurf

Admin of Catoholics Anonymous
Nov 11, 2011
11,597
0
0
What was wrong with windows 98? If I had to run a legacy OS, that be it.
 

Bad Jim

New member
Nov 1, 2010
1,763
0
0
Slegiar Dryke said:
Despite getting the job done, they're HOPLESSLY overbloated in their design. I can't remember where I saw it, but there was a list once of the major OSes at the time, not too long after 7 came out....and Vista for instance, ran somewhere in the ballpark of 50 million lines of code. for comparison, linux strains run the range of 2 to 15 million.
That probably works out to about 2 million lines for the actual OS and 50 million lines worth of driver code. And most of the Linux installs I've done have had something not work until I looked for a driver myself, so I can't say Microsoft is in the wrong here.

gamegod25 said:
Kinda funny how programmer laziness or just shortcuts, can lead to unexpected issues later on.
Even funnier is that they would have done this around the time that the Y2K bug was big news. That is, the fact that most programs written in the 70s and even 80s stored dates as two digits, eg 1985 was stored as 85, with obvious problems after 1999. Nothing serious actually broke, but the pre-emptive fixes were expensive.
 

Lil devils x_v1legacy

More Lego Goats Please!
May 17, 2011
2,728
0
0
I don't know why so many are focusing on a number. That isn't what will cause it to flourish or fail, it is simple things like:

1) Being able to opt out of creating an account local or otherwise, always online, Bing, store, and cloud integration upon install. If people do not want to do things, you do not handcuff them to it to force them. They found this out the hard way with xbox one. Having the ability to opt out of features when installing has always been a well appreciated windows install feature not something they need to mess with when it comes to maintaining your consumer base. Some people just want a streamlined, secure operating system, without the fluff not a one size fits all multimedia device. Allow customers to easily choose what they want and how they want to use it.

2) Familiar UI, controls, storage and monitoring. Some people want things to be where they expect to look for them and when they are not there, that is an irritation not an innovation. It is kinda like having the idea to change how a steering wheel works on a car. If suddenly turning it right makes it go left and turning it left makes it go right, people are not going to see that as an innovation, they are going to not buy the car that does that. Different does not mean better. Always having the option to have a classic view, nothing on your desktop if you so choose, and being able to access your controls and files in a familiar manner are things that may be over looked by designers.

My dad, for example, has had multiple strokes and had to re learn how to speak and understand words and his computer is his lifeline to be able communicate and live a somewhat normal life. When they do something as simple as change how you access a file, or how a button looks and where it is located it makes doing things extremely difficult for him because he is unable to learn new information easily, nor is he able to remember that it happened the next time he logs in. It is a repeated daily frustration for him when they do something as simple as change the look of his email. They always need to retain the ability to access things in a familiar manner to accommodate all who use them, and not worry about trying to be " new and different" or many will not change because of how difficult it is for them and how much longer it takes them to accomplish anything. For many elderly like my parents or the disabled changing these things makes their lives much more complicated than just " look you access this way now" and they should realize that those changes can be a determining factor as to whether or not someone buys their product at all.

3) Not thoroughly checking the stability, security, and functionality of the product before releasing it. Worrying more about deadlines than the quality of product you are releasing never goes for a good release of a product. Yes, people will notice, and yes people will judge your product by this.
 

Slegiar Dryke

New member
Dec 10, 2013
124
0
0
Bad Jim said:
That probably works out to about 2 million lines for the actual OS and 50 million lines worth of driver code. And most of the Linux installs I've done have had something not work until I looked for a driver myself, so I can't say Microsoft is in the wrong here.
Oh, don't get me wrong, I realize that just because its less lines of code and may or may not be more efficient, that doesn't mean linux is perfect. I've tinkered with it enough times to always find new problems to run into. It is still nice though if you really know what you're doing, you're able to fix that stuff on your own when it happens, instead of dig through the mess of support for windows and maybe find an answer.
 

O maestre

New member
Nov 19, 2008
882
0
0
Strazdas said:
This is a false. Windows versions do not work like that. Windows 10 has a windows version of 6.4 (6.0 being vista and each consequitive version getting a +0.1). No program checking for windows version will EVER see "windows 9". This was only true for 95/98 because they did not use NT numbers. every OS afterwards used NT numbers and unless we go to NT9 (which is at minimum 3 OS away now) we may see this and evne then not, because the version will be "NT 9.0" and not "windows 9".

Callate said:
Sadly, I can believe that this is possible.

Bad programming. The gift that keeps on giving.
Its not, thats not how windows versions work, this is a false rumor.

.
That is a modern convention, some legacy software checked the OS name instead of the OS version, so this rumour could be true. What annoys me is that Microsoft still panders to those users that won't get with the times, and stop using legacy software.

If anything we should put the blame on Oracle's JVM for the way it decodes an operating system.
 

RealRT

New member
Feb 28, 2014
1,058
0
0
FEichinger said:
While it kinda sounds like something programmers do (yeah ... we are damn lazy, but this is also a memory optimization thing), legacy software on Windows 9/10 should no longer be an issue. Half the software this would affect didn't run ever since Vista anyway, regardless of compatibility modes. Speaking of which: Software affected by this bug should be able to run in 8 compatibility mode, if this really is the only thing keeping them from running on 9/10.

My money is still on Microsoft PR thinking "Hey, we should probably fix that whole 'every other version sucks' thing by 'skipping' a version!" instead.
But they skipped the "good" version here.
 

Something Amyss

Aswyng and Amyss
Dec 3, 2008
24,759
0
0
mysecondlife said:
Similar to this story, I think I read something about programmers working over-time back in 1999 to makes sure that their program works without failure once they meet new millennium (year 2000).

I was only in grade school back then so I could be remembering it wrong.
You're referring to the famed Y2K bug. People in prior decades had coded years with the last two digits only. Though the danger was vastly overrated.

Jandau said:
I'm surprised they didn't just name it Windows One... :p
Or Windows X.
 

Spartan448

New member
Apr 2, 2011
539
0
0
WHY NOT JUST READ THE ENTIRE VERSION NUMBER YA LOONS. Seriously. It's not that hard. You could do it in a for loop if you need to. Or even an if statement. Going to use Python terminology here for some reason, but you could parse the version name and number into a string, let's say st1 = Windows 98, so the index will go from 0-9, and the string length is 10. Then you set variable i = 0, and then do:

while i < len(st1):
if st1 == 9 and st1[i+1] == 8:
*do Win 98 stuff
elif st1 == 9 and st1[i+1] == 5:
*do Win 95 stuff
elif st1 == 9 and i == len(st1)-1:
*do Win 9 stuff
else:
pass
i += 1


i starts at 0 and increases by 1 iteration, stopping when i reaches the length of the string. When i matches the index where the 9 is stored at, it will then look at the next index to check if it is an 8 or a 5 and then run Windows 95 or 98 accordingly, OR if the index for 9 is the last index in the string, it will then run Windows 9. You may have to convert the 9s, 8s, and 5s to integers first, or I think you can also just leave them like that, I don't quite remember how Python does that. But that should work for differentiating between the versions.

edit: apparently, the forums don't like doing indents. Way to mess up my code, Escapist Forums.
 

SpAc3man

New member
Jul 26, 2009
1,197
0
0
Spartan448 said:
Too late for all the software that has already been written. Hindsight is a fantastic thing but it won't make the original problem go away.
 

DirgeNovak

I'm anticipating DmC. Flame me.
Jul 23, 2008
1,645
0
0
I've done some coding, I understand the idea, but I don't see any reason not to change the name in the code and still call it Windows 9 colloquially. "Windows Nine", as someone else suggested, would have worked. Skipping to 10 immediately is still dumb, even with that excuse.
 

DirgeNovak

I'm anticipating DmC. Flame me.
Jul 23, 2008
1,645
0
0
Spartan448 said:
apparently, the forums don't like doing indents. Way to mess up my code, Escapist Forums.
Code:
You can
&nbsp; do it
&nbsp; &nbsp; like this
&nbsp; &nbsp; &nbsp; (Click quote to see how)
Also your idea wouldn't work because those are legacy programs coded over a decade ago.
 

Ympulse

New member
Feb 15, 2011
234
0
0
Diablo1099 said:
........So because it had number 9 in it's title, it borked the entire OS?
I understand that programming is hard, I've failed first year C#, but when you read it like that, it's kinda laughable, esspecially with the amount of resources that MS has.
MS, while monolithic, is not the Technology industry et all.

Having done my fair share of software dev, yeah. I can absolutely see this as the "Most effective" solution to what would be a long standing problem with a marquee OS.

Edit

Spartan448 said:
WHY NOT JUST READ THE ENTIRE VERSION NUMBER YA LOONS.
Because introducing that horrible jumble of code you posted would probably cause said legacy applications to fail spectacularly.