On Tue, Apr 6, 2010 at 5:14 PM, wrote:
> FIRST of all, without Microsoft there probably would BE no x64 as we know it today. Seriously. If you’re not aware of this, you don’t know the history of the chip or how the chip was developed.
Oh, I am well aware of that fact. In fact, there’s more to it! If it
were not Microsoft, IA-32(e) as a whole not be as we know it today. I
would be the same toy architecture it was 20 years ago when RISC ruled
the market. But I think that if the mainstream arch people use today
would be one of those kind of architectures, the world would be a
better place.
So yes, I thank Microsoft for making x64 as a better x86, but I don’t
like that the reason there was a need for x64 in the first place was
the Microsoft ecosystem (not the company, but the whole ISV pool with
their little apps).
> SECOND, very shortly after the AMD64’s (Hammer) release, Windows was RTM’ed with x64 support.
So did NetBSD and Linux. In fact, the NetBSD port appeared before
the silicon was out. It was developed on the Virtutech Simics
Emulator. Just like Windows.
> I don’t call that “taking forever.”
But it does take forever. It is still not done. You think I was
referring to Windows when in fact I am referring to the whole Windows
ecosystem, with all ISVs doing their small apps and whatnot. When I
did say “UNIX arch transitions happen quickly”, I did not mean OS
(kernel + support utilities) transition, as you might have assumed,
but the transition of the whole ECOSYSTEM. Of COURSE every sane OS
could be ported to whatever arch in about the same time, provided the
complexity is about the same, but a couple of MONTHS after AMD64 got
out, 99%, THOUSANDS of Linux application were running in 64 mode on
it. Right now, my FreeBSD system reports over 17,000 64 bit ports of
random UNIX applications. Compare that to Windows ecosystem, where
only few vendors deliver 64 bit apps.
> Further, you’ll note that when Windows-64 shipped with x64 support, it shipped with VERY good (not perfect, but VERY good) compatibility. Tons of down-level apps ran just fine as 32-bit apps.
Depends on what you are comparing it with. Compared to Linux? Sure,
but we all know Linux sucks, right (at least I do). Linux has no
notion of backward/forward compatibility in the first place.
Windows compatibility is pretty good, but behind Solaris
compatibility. I don’t know much about AIX and HP-UX, I only speak of
what I know. At least Solaris doesn’t have 32 bit binaries in SysWOW64
and 64 bit binaries in System32…
> And, by the way, “even a simple transition like x86 -> x64”? Simple? Really? From an OS point of view, that’s SIMPLE? I don’t think so.
It is simple compared to a transition like PPC -> IA-32 or ALPHA ->
Itanium or PA-RISC -> Intanium. Mac OS X switched from PPC to IA-32, a
rather hard thing to do, and nobody noticed.
> THIRD, the limiting problem for x64 has always been driver support. Linux systems don’t support one TENTH of the devices supported by Windows. MSFT had the OS support, the core driver stack support. It took the ISV’s ages to get their drivers 64-bit compliant. The only thing that caused 64-bit drivers to eventually be released was Microsoft’s (heavy handed, for my tastes, but unfortunately required) policy of REQUIRING x64 drivers to be provided when x86 drivers were logo’ed by WHQL. If it was up to ISVs and OEMs, there STILL wouldn’t be any 64-bit drivers.
But that is absolutely EXACTLY the same thing I am saying. The problem
is because I typed “Microsoft” in my previous post, you ASSUME I was
referring to the COMPANY, when in fact I was referring to the
ECOSYSTEM. It may be my fault that I was not specific enough.
And although I don’t like Linux on any level (philosophy, code etc)
and would not recommend it to any sane person, I must object to your
statement regarding 10% of supported Windows devices. That is a gross
overexageration, and in the server world I’d say (unfortunately!) that
Linux supports pretty much the same hardware as Windows does.
> FINALLY, you entirely miss the point about x64 on Windows when you ask “What about Office and Visual Studio?” – What ABOUT office and VS?? While I have no doubt that everything will eventually be native 64-bit (because 32-bit Windows will in time be deprecated)… in the mean time who gives a rat’s ass if Office runs in 32-bit mode or 64-bit mode? Again, let me repeat, the 32-bit version runs faster on 64-bit Windows than on 32-bit Windows. We tend not to port things to different architectures here in the Windows world just for the sake of doing it, like they do on Linux.
Porting things to different architectures is always a very good thing
to do. It means that the code quality will be higher and you’ll catch
more bugs.
The thing goes like this. ISVs look at other ISVs and see that they
are doing 32 bit only, therefore they decide that they shouldn’t
bother with 64 bit because others are not doing it. At least
companies/people that I worked with think that way. And then nobody
does 64 bit. And then Microsoft has to support 32 bit forever with all
kind of ugly hacks like the SysWOW64 thing because ISVs can’t be
bothered to write correct code. IMHO, complete transition to 64 bit
will happen only when Microsoft will FORCE people to do it.
–
Aram Hăvărneanu