This commentary on ZDNet makes the case that the x86 instruction set has become the de facto Java. When it debuted in the nineties, Java promised portability because it was both a compiled and interpreted language. Java works by first compiling the source code (text) into bytecode (machine language) which is then executed through an interpreter. In this way, Java apps can theoretically run on any computer with a Java interpreter. Well, history is showing that the x86 instruction set is fulfilling Java's vision as the new bytecode.
The x86 instruction set is the basic language that all x86-compatible microprocessors understand. It's been modified and expanded over the years, but the core remains the same. Since this is the lowest-level language that a processor understands, the processor's hardware architecture is -- theoretically -- exposed by this instruction set.
Were it not for the strides made in processor design over the past decades, and various processor engineering teams coming up with clever ways to take clever new ideas and use them to speed things up, x86 would've been dead a long time ago. But because of the huge base of installed software for many operating systems, x86 continues to be the lingua franca of the personal computer world. In many ways, this goal of having software compiled into a binary format that can run on many different processors was one of Java's early selling points.
Transmeta's Crusoe and AMD's Hammer series of processors which are set to run x86 natively at 64-bit are clear examples of this tradition continuing. Next year was supposed to have marked a fork in the road but with Itanium and McKinley's series of delays and even some Linux systems switching from RISC-based processors to x86, it looks like x86 isn't going to die anytime soon. That doesn't quite bode well for Intel's long range plans.