Hacker News new | ask | show | jobs
by chrisseaton 3454 days ago
> I think its significantly better than Java and has received much better support form Microsoft than the Java eco system and the JVM has from Oracle.

Several of these papers that you are giving as evidence for Microsoft's better investment are actually about research done into the JVM, by Oracle.

I would guess, but can't really prove, that Oracle invests more money into VM research than anyone else in the world.

1 comments

You may be right about Oracle, but I certainly can't tell from the VM offerings they put out.
Do you really think the engineering in the JVM is that bad? I can't think of many VMs that have the technical capabilities that HotSpot or Graal do. The CLR doesn't even do basic speculative optimisations. Maybe Azul Zing or J9 are comparable in terms of the advanced techniques they use, but would you really put the Oracle JVM that far behind? I'm not sure there's any sound technical basis for that.
I don't believe the strengths of the JVM are due to Oracle's efforts.
Who do think pays the salaries of those engineers?
It's more that a lot of the work people admire was done before or close to the acquisition date and therefore probably should be credited to Sun.

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.

Evidence: JRuby, Clojure, Groovy are dynamic languages that have been successful on the JVM and that simply can't have the same performance on the CLR for obvious reasons. Microsoft tried investing in IronPython and IronRuby but failed. Furthermore a language like Scala can have a type-system that diverges from that of Java (e.g. higher kinded types) without taking a hit in performance.

It's not dark magic, it's just good engineering. And the evidence is there in plain sight.