Live data from Hacker News

From Java code to Java heap (2012)

ibm.com

71–80 of 88 posts

Re: From Java code to Java heap (2012)

#71
post #67
post #65

Earlier quoted context omitted.

> In the hypothetical future they do like Sun and let the language stagnate after Java 9, given that Android Java is stealing their revenue, who do you think will bother to pick it up? Google (who is heavily invested; Google's OpenJDK team is about as big as their Go team)? IBM? Red Hat? > We are already seeing them silent on JEE and JavaFX, Kenai and Java.net got closed down We are seeing the exact same things happe…

Microsoft has a different problem, the startups of the 21st century rather use UNIX free clones than pay for OS licenses. Google has proven more than once on Android how "committed" they are to the health of the Java ecosystem and how willing they are to write top performing JIT compilers for Java and keep their implementation up to date. Where they are putting their language research money is on Go and V8. IBM is th…

> Google has proven more than once on Android how "committed" they are to the health of the Java ecosystem

Google's Android team and Java team seem to be completely distinct from one another. Throughout most of the trial, Google remained one of the companies most dedicated to OpenJDK.

> Where they are putting their language research money is on Go and V8.

I don't know what you mean by "language research money", but they're putting as much investment into OpenJDK improvement as into Go. Don't know about V8. They certainly wasted a lot of effort over Dart.

> last year they had a major project to make J9 JVM language agnostic as a portable runtime.

Yes, I was at JVMLS where they introduced it. Oracle Labs' Graal is much more "language agnostic" than that, and still very much Java. Graal may show the way to smooth (if not seamless) Java/non-Java interop.

> What I know is that RFPs for Java projects on my little part of the globe are either Android or maintenance related.

In that case, I think that your view may be very skewed. Android appears absolutely minuscule compared to Java where I'm looking. Of course, my view may be skewed as well, as I hardly look at front-end projects at all, and on the backend Java is so huge as to dwarf pretty much everything else.

Re: From Java code to Java heap (2012)

#72
post #66

Earlier quoted context omitted.

> But there are huge wildcards like WebAssembly, the future of Java on Android and of course all the unknown unknowns that are probably going to disrupt all careful analysis including mine. With that I can completely agree. I can't predict when and how the demise of the JVM would come about, but I can see that it's not happening just yet. I do wonder about one meta-question, though: What effect does the trendy SV tec…

I don't know, but one thing is for sure. All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Also, there are some languages that dominate significant niches seemingly forever, like Python as a frontend for math, science and machine learning or R for statistics. It's very sticky even though I never quite understood why you would want such…

> All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad.

Absolutely, but all fads started out as something many thought was lasting...

> It's very sticky even though I never quite understood why you would want such a huge language barrier between those who implement interesting algorithms in C/C++ and those who use them.

I'm not sure what you mean. My field is distributed/concurrent algorithms, and especially distributed databases, where Java has a significant lead over C/C++ where interesting algorithms are concerned.

Re: From Java code to Java heap (2012)

#73
post #72

Earlier quoted context omitted.

I don't know, but one thing is for sure. All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Also, there are some languages that dominate significant niches seemingly forever, like Python as a frontend for math, science and machine learning or R for statistics. It's very sticky even though I never quite understood why you would want such…

> All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Absolutely, but all fads started out as something many thought was lasting... > It's very sticky even though I never quite understood why you would want such a huge language barrier between those who implement interesting algorithms in C/C++ and those who use them. I'm not sure what yo…

>I'm not sure what you mean.

I mean things like Theano, Caffe, TensorFlow, torch, mxnet, etc, basically all the leading deep learning frameworks. It's similar in several other math/science related fields. Not that Java doesn't exist in these fields, but it's an also ran.

Re: From Java code to Java heap (2012)

#74
post #72

Earlier quoted context omitted.

> All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Absolutely, but all fads started out as something many thought was lasting... > It's very sticky even though I never quite understood why you would want such a huge language barrier between those who implement interesting algorithms in C/C++ and those who use them. I'm not sure what yo…

>I'm not sure what you mean. I mean things like Theano, Caffe, TensorFlow, torch, mxnet, etc, basically all the leading deep learning frameworks. It's similar in several other math/science related fields. Not that Java doesn't exist in these fields, but it's an also ran.

You forgetting the IoT devices coupled with distributed computing server side as well.

Specially with the increasing focus on saving battery and making them as small as possible.

Re: From Java code to Java heap (2012)

#75
post #72

Earlier quoted context omitted.

I don't know, but one thing is for sure. All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Also, there are some languages that dominate significant niches seemingly forever, like Python as a frontend for math, science and machine learning or R for statistics. It's very sticky even though I never quite understood why you would want such…

> All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Absolutely, but all fads started out as something many thought was lasting... > It's very sticky even though I never quite understood why you would want such a huge language barrier between those who implement interesting algorithms in C/C++ and those who use them. I'm not sure what yo…

Is Java being used at all in HPC?

Apparently the GPGPU support is still on for sometime after Java 10.

Re: From Java code to Java heap (2012)

#76
post #20
post #9

Can someone add 2012 in the title, Most of the OpenJDK collections have been rewritten during the Java 8 timeframe, so the values are out of date :(

I think the object layout is not changed. I just ran jol tool for HashMap and size looks similar to what is mentioned in the article.

Actually it's worse. You're more likely to have hash collisions and if you have enough of them you'll overflow into a red-black tree which has an even higher memory footprint.

If you care about memory footprint use Eclipse Collections.

Re: From Java code to Java heap (2012)

#77
post #20

Earlier quoted context omitted.

I think the object layout is not changed. I just ran jol tool for HashMap and size looks similar to what is mentioned in the article.

Actually it's worse. You're more likely to have hash collisions and if you have enough of them you'll overflow into a red-black tree which has an even higher memory footprint. If you care about memory footprint use Eclipse Collections.

> You're more likely to have hash collisions

You are? I know they introduced the tree nodes as fallback if you have a bad hashing algorithm or malicious inputs, but that doesn't mean the hash collision rate got worse by default.

Re: From Java code to Java heap (2012)

#78
post #72

Earlier quoted context omitted.

> All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Absolutely, but all fads started out as something many thought was lasting... > It's very sticky even though I never quite understood why you would want such a huge language barrier between those who implement interesting algorithms in C/C++ and those who use them. I'm not sure what yo…

>I'm not sure what you mean. I mean things like Theano, Caffe, TensorFlow, torch, mxnet, etc, basically all the leading deep learning frameworks. It's similar in several other math/science related fields. Not that Java doesn't exist in these fields, but it's an also ran.

First of all, that's a very small domain. I can similarly say that C++ is an "also ran" in business server-side applications. Second, I don't think that Watson, Spark and H2O qualify as merely "also ran".

Re: From Java code to Java heap (2012)

#79
post #75
post #72

Earlier quoted context omitted.

> All dominant technologies that turned out to have a great impact once started out as something that many thought was a passing fad. Absolutely, but all fads started out as something many thought was lasting... > It's very sticky even though I never quite understood why you would want such a huge language barrier between those who implement interesting algorithms in C/C++ and those who use them. I'm not sure what yo…

Is Java being used at all in HPC? Apparently the GPGPU support is still on for sometime after Java 10.

I don't know, but there's a good OpenCL binding: http://www.jocl.org/

Re: From Java code to Java heap (2012)

#80
post #78

Earlier quoted context omitted.

>I'm not sure what you mean. I mean things like Theano, Caffe, TensorFlow, torch, mxnet, etc, basically all the leading deep learning frameworks. It's similar in several other math/science related fields. Not that Java doesn't exist in these fields, but it's an also ran.

First of all, that's a very small domain. I can similarly say that C++ is an "also ran" in business server-side applications. Second, I don't think that Watson, Spark and H2O qualify as merely "also ran".

>I can similarly say that C++ is an "also ran" in business server-side applications

Absolutely you can, because it's true. C++ usage has declined dramatically in the last 10 years. It's no longer used as a mainstream language for business applications (something it was never good at).

>Second, I don't think that Watson, Spark and H2O qualify as merely "also ran".

Spark and H2O don't even qualify as also rans in the space I'm talking about. Watson may be an also ran, and significant parts of it are written in C++. I have no inside information, but it's not too difficult to imagine which parts that would be.

It's pretty simple to see what's happening. Just look at Google. Google is a very Java friendly company. They do a lot in Java, just not their core AI stuff. Data shovelling and integration in Java. Core algorithms in C++. That's the pattern.

So yes C++ is used in smaller domains. But these are the most interesting, most innovative and fastest growing domains. Those who really specialize in these areas overwhelmingly use C++.

And it's entirely clear to me why that is the case. I tried to use Java for it (and Go). It doesn't work. I have to be able to load a ton of data into memory without constantly fighting a garbage collector, and I have to be able to specify exactly how that data is laid out in memory.

pjmlp reminded us of IoT. Another up and coming field where Java isn't going to be the first choice. Same with games, video processing, etc. Java is falling back in most new application areas.

Interestingly, web browsers seem to be a pretty good yardstick for many other completely unrelated tasks. Can you write a web browser in it that is up there with the best of them? If the answer is no, then that language is not going to be viable for a lot of other tasks as well.

Post reply on HN