The inexorable rise of x86
So, when I was a kid, there was always this big divide between the major camps:
- PC or Apple II.
- Nintendo or Sega.
- Game Boy or Game Gear.
What's really odd there is that the Z80 could run Intel 8080 code, and the 8080 was the predecessor to the 8086, aka, the first x86 chip. (The PC's 8088 was basically a mildly crippled 8086, designed to be used in lower-cost systems.)
At some point, 6502's inspiration, the 6800, grew up into the m68k, which led to the Mac, the Super Nintendo, and so on. Apple's since moved to x86 on their desktop and laptop systems, and Microsoft and Sony have now banked on x86 for their next-generation consoles. PowerPC lives on in custom hardware and the WiiU, but as the Xbox 360 rides off into the sunset, so too does PowerPC, at least as far as most home users are concerned.
We're basically down to two major architectures today: x86 for high-performance devices, and ARM for portable devices.
That's not to say it's a good thing: x86 has flaws. It's a complicated architecture to develop, it's hard to develop for in a lot of ways, and it's got variants all over the place. ARM works great for low-power devices, but you end up hitting a performance wall.
The thing is, Intel's not going to walk away from x86. The latest batch of ultrabooks just doubled their battery life with their latest Haswell chips, and they're on the verge of releasing an Atom CPU that can keep up with, and maybe even beat ARM in terms of power needs and performance at the same time. (Right now, it does one or the other, but never both at once.)
There's always the joke amongst gamers when a new system comes out: "Can it run Crysis?" That's just an extension of the old "Does it run NetBSD?" crack. The joke there was that NetBSD was an operating system that was made to run on almost anything.
Now it's going the other way: Does it have an x86 chip in it?
At this rate, we're looking at a major shift in computing: Phones, tablets, laptops, and even workstations, all running on x86 hardware. Yes, the operating systems will differ. Yes, the UI will differ. However, the frameworks are going to converge, and there's likely going to be a much more limited handful of things to deal with when making applications that work on every class of device.
The next fight is going to be Apple vs. Google vs. Microsoft, but that's a whole separate piece right there.