How many versions of Windows have there been?

I understand that the new version of Windows, to be released on Oct 22 2009, will be called “Windows 7”. (Here’s a link to where you can buy it on Amazon.)

This article on CNet quotes Microsoft General Manager Mike Nash as saying “Simply put, this is the seventh release of Windows, so therefore “Windows 7” just makes sense.”

My question is very simple: By his counting, which were the first six releases?

It was pretty easy for me to come up with this list of ten versions of Windows:[ol][li]Windows 1.0[/li][li]Windows 2.0[/li][li]Windows 3.0 (including 3.1 and 3.11)[/li][li]Windows 95[/li][li]Windows 98 (including 98SE)[/li][li]Windows Me[/li][li]Windows 2000[/li][li]Windows XP[/li][li]Windows Vista[/li][li]Windows 7[/ol][/li]This page at Wikipedia offers even more: 8 versions of “Windows (MS-DOS Based)” and 14 versions of “Windows NT”, all 22 of which are significant enough to have their own Wikipedia article.

Does anyone know how they counted to only seven?

1.0, 2.0, 3.0, 95, 2000, Vista and Windows 7 are the 7 versions I think.

95 might be 98 though.

You might want to look here and look at the NT kernel list table. To that end, there are only seven versions:

[ol]
[li]Win NT 3.1[/li][li]Win NT 3.5[/li][li]Win NT 3.51[/li][li]Win NT 4.0[/li][li]Win NT 5.0[/li][li]Win NT 6.0[/li][li]Win NT 6.1[/li][/ol]

The MS-DOS kernel version is a separate lineage that ended with Windows ME (version 8 in that line).

Good try, and thanks, Duckster, but it seems to me that you are counting 3.1, 3.5, and 3.51 as distinct, and you’re also counting 6.0 and 6.1 as distinct, but you didn’t mention 5.1 or 5.2.

Windows 1.0
Windows 2.0
Windows 3.0 (NT was code versioned Windows 3.1, so gets shoved here)
All Windows 9x versions count as Windows 4.0
Windows 2000 was Windows 5.0 (with XP being 5.1)
Vista is Windows 6.0
7, while technically Windows 6.1, is seen as so significant a release that they regard it as Windows 7.0.

Windows Vista Team Blog - Why 7?

There was also Windows 386.

At one time I actually had a set of floppies for Windows 1.03.

Windows Vista Team Blog - Why 7?

“So we decided to ship the Windows 7 code as Windows 6.1 - which is what you will see in the actual version of the product in cmd.exe or computer properties.”

:dubious:

Nah, that sounds really silly, it is going against their own numerical guidelines, so I will say it was a marketing decision, “7” has lucky connotations in many cultures, it is easier to sell that “6.1” and I think Microsoft does want all to forget Vista (Windows 6.0).

Thanks, Kal, that’s exactly what I was looking for!

That one was beamed back from a couple of centuries in the future. USB still doesn’t work properly, though.

While I don’t deny that Microsoft may be using ‘7’ as a lucky charm, the official reason the kernal is numbered 6.1 and not 7.0 as you might expect is to avoid issues running software and drivers.

I believe many of the problems with Windows Vista running drivers was because of the new version number (6.0). By keeping it 6.1 it allows the transition from Vista to Win 7 to be much smoother than it was from XP.

Link

Wait, how can it break any sane piece of software to just put a different number on the label? If it’s just that the drivers have a check “if versionNumber = 6.x” and throw an error message otherwise (which is the only way I can conceive of this happening at all), then that’s just idiotic on the part of whoever wrote the driver.

More likely the installer.

But why is that idiotic? When you are writing Windows 6.0 drivers, you have no idea what Windows 7.0 will be like; you have no idea if your driver will run, crash, or damage a system. For all you know Windows 7.0 could have a completely different driver model. It makes sense to do it this way. The convention is that 6.0 to 6.x will consist of incremental changes and 6.0 to 7.0 will consist of significant changes. The correct thing to do is to allow 6.0 drivers to be used on 6.x, but not on 7.0.

One way to handle this issue is for MS to get driver-vendors to update their drivers prior to Windows 7.0 and to get these drivers either installed on the Windows 7.0 install disks or on their online driver-database. This is what MS has always tried to do, but it is very, very hard. So MS has decided to ‘cheat’ a little and name Windows 7.0 internally as Windows 6.1.

In one way this makes sense. Although Windows 7.0 may have a lot of significant changes, the driver model does not. So the driver model is basically a 6.1 while other parts of the system are 7.0.

In that case, the idiotic part is in making a new operating system which isn’t backwards-compatible with the old drivers. You have to expect that when you roll out a new operating system, not all hardware vendors will instantly produce new drivers exactly simultaneously with your rollout.

It’s indeed quite annoying when the software is asking too many questions about what OS it’s installing on. I’ve run into cases of crappy do-nothing software (like the Sony iTunes ripoff for eBooks) telling me it won’t install itself on Windows 2003 (which is almost 100% compatible with XP). And the worst part, it is very hard if not impossible to work around this stupid check!

But, I suspect this “application/driver compatibility” thing is a crock. Most applications and drivers check >= 6, not ==6 (or <7)! Microsoft typically only makes its APIs bigger, not smaller.

Truth is, internally, windows 7 really is 6.1, same way XP was 5.1. Yet, same way as XP, it is a major break in terms of the user experience. (It has under-the-hood changes too, which make it considerably faster. But the APIs and important technologies stay the same.) In the end, it was a marketing move to call it Windows 7. Probably because all the other names MS’s marketing department comes up with are lame (Windows Me? XP? Vista?) and the year names have been relegated to servers (2003, 2008).

That can be very difficult, since the layers of abstraction are much thinner around drivers, for reasons of performance and complexity.

If you look at Windows historically, you’ll see that the first release isn’t so good, but the later version is much better.

Windows 3 -> Windows 3.1
Windows 95 -> Windows 98
Windows NT 3.1 -> Windows NT 4.0
Windows 2000 -> Windows XP

Further, the first version is usually a transition product (16 bit, 32 bit, security model, integration of DirectX into NT model respectively), the second the main one, and the third the long-lived one (Windows for Workgroups, Windows 98 SE, NT4 SP6a, and XP SP2 respectively).

Don’t even think of mentioning Windows ME or Bob.

You can see that Vista was very much a transition product, from 32 bit to 64 bit. If MS follow form, Windows 7 will be their flagship product / moneymaker for the next 7-10 years.

Last i heard Win7 was rolling out with an XP virtual machine as part of the install. You could just install any software into the VM side if there was an issue.

Same thing happened with Win95, they had to return a 3.9 instead of a 4 because some software was looking for a 3

FTR, the Amazon MP3 Downloader won’t install on W7 - it says “you must have 2000 or Windows Vista”. Arses.

I would like to strongly disagree here.

Windows 2000 does virtually everything XP does, while at the same time taking fewer computer resources, not having too much annoying copy protection and not making you jump through hoops to change basic settings.

Windows 2000 is the best Windows OS I’ve ever used. And I am still using now!

A few minor corrections to what others have posted.

First of all, Microsoft used to have two “windows” products. They started off with “windows”, which was windows 1.0, 2.0, and 3.0. At that point, they realized that they needed a structural change to the operating system for it to be stable enough to be used in a networked type of environment, so they came out with “NT”.

NT and Windows use similar API calls, but are structurally different from the ground up. Windows is basically backwards compatible to DOS. In fact, the earlier versions not only booted from DOS but they kept DOS around and intact, hidden underneath the scenes. Even the later versions of windows (95, 98, and ME) still had the ability to use DOS device drivers. If you ever saw a disk drive in “DOS compatibility mode”, that’s what was going on.

NT did not have DOS underneath of it. In fact, it specifically had a layer separating the programs from the hardware (called the Hardware Abstraction Layer, or HAL), making DOS style direct hardware accesses impossible. This was great for stability, but it sucked eggs as far as backwards compatibility was concerned, and it had all of the performance of a slug carrying lead weights. Instead of your program changing part of your screen, the program had to ask HAL to change part of your screen. Then HAL had to do it, and then tell your program that it did it. In those days, this kind of performance hit was unacceptable for games and such, so Microsoft advertised NT for businesses and the good old fashioned Windows for home users.

Fast forward a bit, and microsoft gets sick and tired of maintaining two operating systems. They want to force everyone to NT. So, they announce that they are doing exactly that, starting with this next version of NT which they end up calling Windows 2000. They get about half way through testing, and realize there is just way too many home applications that still won’t run on NT, and their customers are going to throw a fit. So, they change course mid-stream, and announce that 2000 is for business users. You can still see some remnants of their original strategy in 2000, such as the enhanced media stuff that obviously is of little value to a business user, and the cutesy “my network places” instead of “network neighborhood”. But now microsoft doesn’t have an OS to sell to their home users. So, they take a bunch of the stuff they developed for 2000, shove it into windows 98, do some minimal testing on it and throw it out the door, calling it Windows ME. And, because they did such a rush job on the thing, it sucks major donkey balls. Eventually they get it patched up to the point where it is decent, but for a while you were much better off running 98 than ME.

Microsoft tries again for XP. By now, software developers are all very much aware that Microsoft is killing off the windows line and is moving everyone to NT whether they like it or not, so ever since 2000 and ME came out, software developers have all been making NT compatible programs. They also try some tweaks to NT, giving it some more compatibility mode, but these are of fairly limited use. Underneath the hood, XP is basically 2000, but for everything that the user sees, it is a major overhaul. XP wasn’t a whole new OS, even though it was advertised as such. XP was really 2000 with a facelift, and doesn’t really run older programs any better than 2000 did. However, since programmers have all moved to NT, Microsoft successfully completes their “merge”, and the windows line is officially dead.

Vista’s development was rather troublesome. It was originally code named “longhorn” and they had some very ambitious plans. Unfortunately, they got part way through development and realized a lot of their ambitious plans ended up being huge gaping security holes that couldn’t be fixed, so they started dropping these features. For a while, some folks were calling it “shorthorn” instead of “longhorn” because of its lack of features. Microsoft ended up shoving a bunch of stuff in there and throwing the thing out the door, basically taking the stance that they ruled the world and we were going to move to their new big thing no matter what we thought. They got a bit too arrogant, and when folks discovered that Vista wouldn’t run on their software and was too much of a resource hog to run on their hardware, their customers revolted. Windows 7, despite its name and the huge amount of advertising Microsoft is doing to the contrary, isn’t a complete new OS from the ground up. It’s basically Vista with all of the crap that everyone complained about fixed, which is actually a good thing.

If you don’t count minor version numbers, then 2000 and XP are both NT 5, and Vista and 7 are both NT 6. There are enough differences between them though that I think you really do want to count them.

Here’s the way it ends up. I’m sure I’m missing a few since this is from memory, but this is the basic idea:

“Windows” operating systems:
1.0
2.0
3.0
3.1
4.0 (Windows 95)
4.1 (Windows 98)
4.9 (Windows ME)

“NT” operating systems:
3.51
4.0
5.0 (Windows 2000)
5.1 (Windows XP)
6.0 (Vista)
6.1 (Windows 7)

Microsoft also has embedded and compact versions of windows, which run things like ATM machines (yes, I know, redundant), airport displays, and all sorts of stuff.

“Windows 7” doesn’t make any sense according to any way that you number them. They mostly chose the name as “let’s get as far away from Vista as possible”, even though underneath the hood, most of Windows 7 is Vista.