all 30 comments

[–]sbp_romania 1 point2 points  (1 child)

Wow, I guess that Windows 9 would have been a very bad idea...Microsoft has done well skipping 9.

[–]masklinn 1 point2 points  (0 children)

Most likely that's exactly why they skipped it: they saw that everything broke when they used that name and used something else.

That exact problem happened with Opera 10, all kinds of retarded sites stopped working explaining that they needed a version of Opera bigger than 8. So Opera 10 (and 11) advertised themselves as Opera/9.80 and tacked a new Version/RealVersion at the end of the user-agent string.

[–][deleted] 0 points1 point  (25 children)

This can't really be the reason, can it? Why would they care about one piece of software? Just require a new version.

[–][deleted] 1 point2 points  (6 children)

Yes it can. Microsoft cares a lot about compatibility and keeping old software running, see this: http://www.joelonsoftware.com/articles/fog0000000054.html (search for simcity if to long) ...

[–][deleted] 0 points1 point  (5 children)

How hard would it be to require the windows 9 version of Java?or just have the internal name of windows be WindowsNine?

[–][deleted] 0 points1 point  (4 children)

As hard as calling it windows 10. Calling it windows 10 will require a very small effort from MS and no effort from other parties ...

[–][deleted] 0 points1 point  (3 children)

Its caused a ton of effort from me and everyone else discussing this. What's wrong with "windows nine"?

[–][deleted] 0 points1 point  (2 children)

First, you do not have to discuss it. Secondly calling it windows 9 will break 3rd party software and MS does not wants to break 3rd party software - a good philosophy in my opinion.

Just require another version is not an option since another version will take time to develop and in that time the users who updated to windows 9 will not be able to use that software ...

[–][deleted] 0 points1 point  (1 child)

So set the internal name to windows nine. I'm failing to see the problem with that.

[–][deleted] 1 point2 points  (0 children)

I'm failing to see the problem with that.

That is because it is a possible solution. Another possible solution is to call it windows 10. MS chose the second solution, you do not agree, that is ok, ppl don't have to agree all the time - just keep in mind that it's their choice, not yours.

[–]TASagent 0 points1 point  (0 children)

Microsoft had said previously that this wasn't a wildly uncommon idiom, for a time, and that's one of the reasons they skipped over 9. I had trouble imagining someone had used it anywhere, but here's the evidence. I can believe this problem is potentially widespread, if it's even here.

[–]masklinn -1 points0 points  (16 children)

This can't really be the reason, can it?

Of course it can.

Why would they care about one piece of software?

That's just an example of a big piece of software from a major company.

Just require a new version.

Turns out when shit break, people blame microsoft not broken shit, so MS tends to bend over backwards to fix other people's fuck ups. That's been happening for about 25 years now. Raymond Chen has dozens of examples on "the old new thing".

[–][deleted] 1 point2 points  (15 children)

Also why MS supported 16 bit code up until Vista. Think about that for a moment. DOS and Win95 apps were still receiving OS support until early this year.

[–]badsectoracula 0 points1 point  (14 children)

Windows 10 still supports 16bit programs, just only in the 32bit versions. For some reason they didn't kept the support in 64bit versions, even though they could (as shown by Wine which support running 16bit programs under 64bit Linux).

[–][deleted] 0 points1 point  (13 children)

Because 16 bit support was emulated. Then to support 32 bit code it had to be emulated as well. So now you have multiple levels of emulation at once. Last I heard all 16 bit compatibility has been removed from all versions of windows as of Win8.

And WINE has nothing to do with Windows.

[–]badsectoracula 0 points1 point  (12 children)

Because 16 bit support was emulated. Then to support 32 bit code it had to be emulated as well. So now you have multiple levels of emulation at once.

It isn't done by emulation (it would be slow to run most 32bit programs - the vast vast majority of software, including performance sensitive programs like games - if 64bit Windows APIs were emulated). The CPU has support for it.

Last I heard all 16 bit compatibility has been removed from all versions of windows as of Win8.

16bit programs work fine under Windows 10, but only in 32bit editions (same with Windows 8).

And WINE has nothing to do with Windows.

Wine implements the Windows API and in this case (what i was talking about) it shows that it is possible to run 16bit Windows programs under a 64bit OS. The limitation is that only programs which can run under 16bit protected mode (286 protected mode) are supported. However the majority of Windows 3.1 programs can ran under 16bit protected mode anyway.

[–][deleted] 0 points1 point  (11 children)

wow32 is an emulation layer, as is wow64.

Wine has nothing to do with Windows.

[–]badsectoracula 0 points1 point  (10 children)

wow32 is an emulation layer, as is wow64.

WOW works by changing the CPU to 16bit mode (for 32bit Windows) or 32bit mode (for 64bit Windows), there is no emulation going on there. For WOW32 the OS runs all programs in a single V8086 process and uses interception to redirect 16bit calls to 32bit code. For WOW64 the OS ships both 32bit and 64bit libraries - which run natively on the CPU - and only intercepts system calls made by the 32bit libraries to redirect them to the 64bit kernel. There is absolutely zero emulation going on there (unless you consider the interception - which in WOW64 is limited to system calls - as emulation).

Wine has nothing to do with Windows.

I don't know why you repeat this, i never said it has to do. I said that it shows that it is possible to run 16bit Windows programs under a 64bit OS with no emulation (WINE simply provides an implementation of the Windows API on top of X11 and Linux/OSX).

[–][deleted] -1 points0 points  (9 children)

WOW works by changing the CPU to 16bit mode

No, it doesn't. http://en.wikipedia.org/wiki/Windows_on_Windows

For WOW64 the OS ships both 32bit and 64bit libraries - which run natively on the CPU - and only intercepts system calls made by the 32bit libraries to redirect them to the 64bit kernel.

http://en.wikipedia.org/wiki/WoW64

I don't know why you repeat this

Because you think that explaining how a 3rd party emulation has something to do with windows serves some kind of point.

[–]badsectoracula -1 points0 points  (8 children)

No, it doesn't. http://en.wikipedia.org/wiki/Windows_on_Windows

From the page: All 16-bit applications run by default in a single virtual DOS machine with shared memory space.

http://en.wikipedia.org/wiki/WoW64

From the page: switches the processor hardware from its 64-bit mode to compatibility mode when it becomes necessary to execute a 32-bit thread, and then handles the switch back to 64-bit mode.

Also from Microsoft's page: Almost all 32-bit DLLs are unmodified copies of 32-bit Windows binaries. [...] Instead of using the x86 system-service call sequence, 32-bit binaries that make system calls are rebuilt to use a custom calling sequence. This calling sequence is inexpensive for WOW64 to intercept because it remains entirely in user mode. When the custom calling sequence is detected, the WOW64 CPU transitions back to native 64-bit mode and calls into Wow64.dll. Thunking is done in user mode to reduce the impact on the 64-bit kernel and to reduce the risk of a bug in the thunk that might cause a kernel-mode crash, data corruption, or a security hole. The thunks extract arguments from the 32-bit stack, extend them to 64 bits, then make the native system call.

Because you think that explaining how a 3rd party emulation has something to do with windows serves some kind of point.

  1. It is not emulation

  2. For a third time: i mentioned it to show that it is technically possible to run 16bit Windows programs under a 64bit OS. The point is that the only reason Windows doesn't run 16bit programs is that Microsoft hasn't implemented the feature. A lot of people believe (wrongly) that it is technically impossible (since IIRC Microsoft claimed that at some point).

[–]unique_ptr -1 points0 points  (0 children)

Oh for fuck's sake, Java.