Windows 7 -- seven?!?

Microsoft announced today that the new version of windows will sport the same name as the current code name: Windows 7.

I’m trying to figure how this is the seventh Windows release. Windows did come in two families for a few years, so this gets complex. If we follow the consumer version (built on DOS, sorta kinda until XP), then up to the newest versions, we get this list



Name		ordinal
Windows 1.x	1
Windows 2.x	2
Windows 3.x	3
Win 95		4
Win 98		5
Win ME		6
Win XP		7
Win Vista	8
Win 7		9

Of course, the geeks among us know that WinXP was the convergence of the two families, consumer and server/pro NT versions. If we instead follow that list, only counting the “NT” family, we get this set:


Name		ordinal
Win NT 3.1*	1
Win NT 4	2
Win 2000	3
Win XP		4
Win Vista	5
Win 7		6

*Incredibly, Win NT 3.1 was the first release of NT.

All of this is ignoring things like Windows CE, Windows for Workgroups etc.

OK, so how can Windows 7 be said in any way to be the seventh release of Windows? It’s the sixth release of NT, and could be said to be the ninth release of the consumer branch of the OS. Or you could say it would be the twelfth release if you could both branches’ unique products. What fuzzy math is Microsoft using to get to 7?

Likely, they’re counting like this:
[ol]
[li]Windows 3[/li][li]Windows 95[/li][li]Windows 98[/li][li]Windows Me[/li][li]Windows XP[/li][li]Windows Vista[/li][li]Windows 7[/li][/ol]Remember, Microsoft thinks it’s only talking to tech-ignorant consumers. Their first taste of the NT line was XP and nobody remembers any Windows prior to 3 (or 3.1). They also buy 98 and Me as being distinct from Windows 95, when in fact they were minor updates and bugfix patches (Service Packs, if you will) applied on top of 95. (Also, I think Windows 2000 was server-oriented. It didn’t do much on the desktop at any rate.)

If you look back at the internal version numbers used in older Windows releases, it actually makes sense (that’s scary).

Windows 95, 98, and ME were all the same major version (ver. 4). Just thnk of them as intermediary releases of that verison (4.0, 4.1, 4.2, etc). Windows XP was version 5, and Vista is version 6. So the next major release is…you guessed it…Windows 7.

It makes a lot of sense when you consider that 95, 98, and ME share the same basic architecture. In fact, the term “Windows 9x” is used to include all three of them.

Ok, so from that logic we get

  1. Windows 1.x
  2. Windows 2.x
  3. Windows 3.x
  4. Windows 95/98/98se/ME
  5. Windows XP
  6. Windows Vista
  7. Windows 7

It is based on the major releases from the NT-family:
[ul]
[li]NT 3.1[/li][li]NT 3.5[/li][li]NT 4.0[/li][li]2000[/li][li]XP[/li][li]Vista[/li][li]7[/li][/ul]

Complete list here.

Don’t include the other families:
[ul]
[li]1.0, 2.0, 3.0, 3.11, 3.2, etc.[/li][li]95, 98, ME[/li][/ul]

This is the right answer, though Windows 2000 was 5.0; XP was 5.1, and Server 2003 was 5.2.

Well, it just so happened that when they decided to merge the NT and 9x families into one product line (XP) both versions were due for number 5. So you can follow either lineage (workstation or home computer) and arrive at the same version number.

If you look at how the operating systems identify themselves its a bit clearer:

“Windows” versions (ignoring stuff earlier than 3.0):

Windows 3.0 (identifies itself as Windows 3.0)
Windows 3.1 (identifies itself as Windows 3.1)
Windows 95 (identifies itself as Windows 4.0)
Windows 98 (identifies itself as Windows 4.1)
Windows ME (identifies itself as Windows 4.9)

There are no more “windows” versions after this. Microsoft claims they “merged” the product line, but they did no such thing. They just killed off the “windows” line.

“NT” versions:

Windows NT 3.51 (identifies itself as NT 3.51)
Windows NT 4.0 (the “NT” version of windows 95, identifies itself as NT 4.0)
Windows 2000 (identifies itself as NT 5.0)
Windows XP (identifies itself as NT 5.1)
Windows Vista (identifies itself as NT 6.0)

This makes it clear that the next major version of NT (which is just called “windows” these days) is 7.

It also makes a few other things clear, like the fact that XP is really just a facelift on top of 2000. While there were major changes to the user interface, underneath the hood XP and 2000 aren’t much different. It also makes it a little more clear that ME was just a hyped up version of windows 98, which was rushed out the door because 2000 wouldn’t work with enough “home” software at the time.

Microsoft intended to “merge” their product lines in Windows 2000. They got about half way through development and realized that too much existing home software wouldn’t run under the NT architecture. This was especially true of games. At that point they switched gears and turned Windows 2000 into just the next version of NT, which until that time had always been focused at business customers. They then rushed ME out the door so that they would have something to sell to their home users.

Remnants of this plan can be found in the released version of 2000. They changed “network neighborhood” to the more cutesy home style “my network places”, for example, and there were quite a few home oriented improvements in things like the media player. 2000 was heavily advertised towards business users, though, and starts with a much more formal business-like splash screen. ME also suffered greatly from being rushed out the door, and has a horrible reputation as a buggy piece of crap. If you get all of the service packs it’s actually not too bad, though IMHO it’s not really any better than 98.

Microsoft then did the “merge” at XP. Note that the same home software that failed miserably on windows 2000 usually failed miserably under XP, but by then game developers knew that we were all going to NT whether we liked it or not, so if you were only running “recent” software you could switch to XP without too many hassles.

Windows 2000 was for “business” users, not “server” applications. There’s a separate “server” line of Windows which usually comes out a year or so after the NT version. The “server” version of NT 4.0 was just called “NT server 4.0”. XP server was Windows 2003. Vista server is Windows 2008.

As for why NT started at 3.1 and not 1.0, ISTR it was one of those marketing things where they wanted the product number of their consumer and business products to match. At the time, Windows was on version 3.1 or 3.11 (“Windows for Workgroups”).

The worst part of the OS was that it wouldn’t boot into DOS mode without a third-party patch I didn’t know about at the time. It really turned me off the OS (and MS in general).

There was little reason to break so much software by the time XP came out. It’s relatively easy to create sandboxes around old software and run older APIs in userland so the insecure cruft isn’t in the kernel where it can do real damage. (This is essentially what Wine is: A sandbox so Windows programs see the kind of filesystem they expect, drive letters and all, and a whole lot of userland API code to give the Win32 experience.) They could even run DOS and Win16 code using the vm86 feature of modern (all 32-bit) x86 chips: A hardware VM that allows OSes to run as userland processes controlled by the host OS.

Microsoft has never, to my knowledge, really leaveraged the power of virtualization and sandboxing to let old code run safely. Their half-hearted attempts (DOS boxes worse than the open source DOSBox project, bizarre binary patches and OS shims for errant 32-bit code, and other monstrosities) might have been due to hardware limitations with 95 and 2000, but it’s increasingly difficult to buy that explanation with XP and Vista. The longer they let the problem fester, the more stuff they’ll have to put into userland and the more difficult it will be to make it efficient. Maybe Windows 7 has some tricks up its sleeve, but I doubt it.

Looking at all the names of Vista before it was released, I’m betting it doesn’t release as Seven.

As long as it doesn’t release as Se7en I’ll be happy.

Microsoft have announced that it will be marketed as Windows 7. To date, at least, they haven’t changed the names of any operating systems once they’ve made such an announcement.

Yeah, they only do that with release dates. :slight_smile:

All true. However, according to this, Windows 7 will identify itself as NT 6.1.

I think that Microsoft has hired marketing people from Sun.

<head explodes>

I wonder what rev we’d be up to if we counted all versions of Windows? Help me out here:

Windows 1.x
Windows 2.x
Windows 3.x (incl Workgroups, MM extensions)
Windows 95 (incl 98, 98se, ME)
Windows NT 3.1
Windows NT 3.5 (or should this go under NT 3.x?)
Windows NT 4 (ditto. ?)
Windows 2000
Windows XP (the convergence)
Windows Vista (the disaster)
Windows CE (fits in your pocket. Or are just happy to see me?)
Windows Embedded (did anyone ever use this?)
Windows for Coffee Tables (Milan) (unreleased)

You forgot OS/2 Warp 3.0, which IIRC, identifies itself internally as Windows 4.

I’m just sorry to see that my prediction isn’t coming true:

Windows 95 returned 3.9 internally instead of 4 to avoid breaking a bunch of code out there (at least originally).

By version 3.0, OS/2 had nothing to do with Microsoft, and the internal version was not related to Windows. The version that was early-on dubbed OS/2 NT came out as OS/2 1.3. The follow-up, 2.0, was without Microsoft after they had too many technical and marketing disagreements with IBM. A decent enough precis of the story can be found in Big Blues: The Unmaking of IBM.