Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


Microsoft didn't fail at IronPython and IronRuby for technical or perf reasons, they owned the projects and essentially withdrew funding, presumably this delayed all the dlr work too dynamic invoke etc.. rosyln changes etc.., it was a disappointement at the time to me 2010? and essentially allowed the JVM to pull ahead in community adoption of other languages. Where MS is now this decision to withdraw from iron* looks insane, but the attitude to open source and community was different then. Time has pasted. Happy clojure developer on JVM today


I'm not sure I believe what you're saying is true. I'm a full time Clojure dev and let me tell you, if I give a damn about performance I avoid a lot of the cool parts of the language.

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.


Ditto with Apache Groovy, which started off as a dynamically typed language to complement Java. The original use case for Groovy was to use it when performance doesn't matter (e.g. scripting, testing, glue code) and Java (or some other statically typed language) when it does.

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).


Hi sorry for off topic question. But how do u feel about clojure ? I am a python developer and really interested in clojure. Do u think it's worthwhile learning ?


Could you define "worthwhile?" Learning lisp is great if you want to be exposed to new functional programming ideas.


I don't really understand your reply. Where you replying to my comment?


I'm saying that your idea that the JVM enables performance for dynamic langiagss, and then that's why the languages succeeded is wrong.

I also think it's wrong to imply IronPython and IronRuby failed for purely performance reasons.


Actually the JVM support for dynamic languages (invokedynamic) was only added after .NET, thanks to IronPython project, created the DLR first as a side project, then eventually released it as part of .NET 4.0.

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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: