That said, I'm not sure why things like speculative execution in the JVM context get such play as dark magic when it seems like the JVM and CLR are pretty neck-and-neck in terms of deliverable performance when we get down to the level where we're not affected by larger architectural differences.
There are a lot of different ways to get high performance code from a VM environment. But to hear many people tell it the JVM is the only competent one. I'm just not sure the evidence bears that out.
It's not dark magic, it's just good engineering. And the evidence is there in plain sight.
And it gets even more severe with Scala.
As Ruby should demonstrate, languages succeed because the community wants them. Not because they have specific performance characteristics.
Unfortunately VMware wasted a lot of resources trying to redefine Groovy as a performant language which could replace Java's use case, or even run on Android (believe it or not).
I also think it's wrong to imply IronPython and IronRuby failed for purely performance reasons.
I imagine only those of us that work regularly with both platforms get it right, when each got what, and even then it is easy to lose track.