(Whoa. This has become a rant… I mean it about 86% jokingly, so read accordingly)
For the longest time there was the x86 (that’s after we were able to rip everything Win16 from this world). And it was good. For the 3 people who don’t know, x86 is due to the processor chip family which was postfixed with 86 (8086, 80286, 80386 etc.) The x was used like an asterix is – as a wild card. Never mind the fact that it is almost exlusively used to refernece the 32bit model of these chips (which basically means anything 80386 and above).
Then 64 bit CPUs started slowly creeping in. It started with the Itanium chip from Intel. It was called IA64. And because not many things really ran on it, it was okay. It was like that smart kid in school who was not nerdy enough to beat the crap out of, but not cool enough to hang out with.
Still, some development tools and software started being distributed for Itanium systems as well. Suddenly, when you went to your installation file server and delved into one of the products, instead of seeing a setup.exe, you would see two directories: x86 and IA64 (Intel Architecture 64). That was just fine. Everybody were happy. 99% of the people learned to ignore the IA64 directory and just go directly to x86.
Then AMD came out with their 64 bit, x86 compatible architecture which was great and nice and which ran x86 apps (read: Win32 apps) like they were native. And that was good too.
The name given for this initially was AMD64, which is what a lot of binaries are published internally here till today. Suddenly, these machines were everywhere. Suddenly, when you went to install a program, you would see potentially THREE directories. x86, AMD64 and sometimes IA64.
Then, Intel realized that nobody is really using their Itanium chip* and decided they wanted a piece of the easily-compatible 64bit pie too. So they came out with EM64 which was almost completely exactly the same as AMD64.
So now we have (what amounts to) 3 architectures with 4 names between them. That cannot be! We needed to coalesce them so we have 3 names.
And the name we came up with?
Why, x64 of course.
This makes absolutely no sense on any level – but one – it sounds nice and is catchy. However..
It overloads the original meaning of x86. There are no 80364 chips.
It’s numerically less than x86 which is older, which doesn’t make any sense from a versioning point of view.
And the reason I am pissed at it… When you are going through your directory structure and reach a directory that contains a fork based on architecture, the first tab you hit for command console auto completion brings you to x64 instead of x86 which would make more sense. That’s a whole extra key-stroke I need to do! Calculations show that this extra click translates to about 3.5 wasted minutes a year. I WANT MY 3.5 MINUTES BACK!
If it was up to me, I would call it x90 or something (87 and 88 are common intel chip postfixes as well, and if we are already at 89, we may as well jump all the way to 90).
What’s worse, x64 is overloaded such that some people use it to reference all that is 64bit in the world, and some use it to reference AMD64 specifically.
All this means that a lot of installation folders still have AMD64 as the folder name. And when somebody who is not a chipophile sees “AMD64” and “IA64” and knows they have a 64bit intel CPU rather than an AMD one, guess where they will go.
And all this because we couldn’t forsee the future when AMD64 first came out.
We need to upgrade our magic 8-ball.
* An oversimplification, but come on…