3 ms·
Committer to Apache HBase here: I agree with the author on some level. All of HBase and Hadoop (except for a little bit of native stuff) is implemented in Java
by linuxhansl 12y ago
Committer to Apache HBase here:
I agree with the author on some level. All of HBase and Hadoop (except for a little bit of native stuff) is implemented in Java.
I found that to be + and a -.
Java is easy to understand and to follow, lends itself very well to large-team development, and performs well in most situations. The alleged verbosity I do not mind. I have tools, and well structured code is easy to follow.
Java (or the JVM really) does have limits, though. What I miss by far the most are simple pointers and access to the RAM outside of the Java heap. Then again I am working on a low-latency database. Yes there are DirectByteBuffers but they are annoying to use, just gimme a struct (some IBM folks are working on a proposal for that for Java).
Everybody in this space who is using Java invents their own off-heap code to avoid heap allocations and the inevitable garbage collections. G1 will make it better, but not eliminate this.
I still user other tools: Python, Ruby, Bash (yes), JavaScript, C/C++, etc, and I disagree with the author's premise. It depends very much on what I attempt to do which language/ecosystem I will use for that.
Edit I: In the end I prefer to versatility of Java over the limits I face with it. Would I write a Kernel in Java: No. At least not with the current JVM.
Edit II: We should not conflate Java with the JVM.
- pjmlp 12y agoI guess you aren't aware of http://openjdk.java.net/projects/panama/ http://openjdk.java.net/projects/panama/ http://openjdk.java.net/projects/valhalla/ http://openjdk.java.net/projects/valhalla/ http://openjdk.java.net/projects/sumatra/ http://openjdk.java.net/projects/sumatra/ Some of the features will come in Java 9, others in Java 10.