News for hackers. Stuff that matters.
Re:Debunking the Java Performance Myth by twic on Sunday October 22, 2017 @11:10AM (#15527134)
> Java's baseline design encourages the creation of lots of expensive runtime abstractions

Abstractions yes, expensive, perhaps not. One of the nice things about Java is that the JIT can collapse a lot of abstraction at runtime. Not all of it, but a lot of it. I am skeptical about the idea that Java naturally guides programmers towards expensive abstractions.

> and makes parallelism difficult

Presumably, you mean something like "makes lightweight concurrency difficult, because all the backend APIs for database access etc are blocking", which is unfortunately true.

Re:Debunking the Java Performance Myth by sidlls on Sunday October 22, 2017 @12:56PM (#15527700)
I think perhaps it's more of a "pure OO" approach than the language itself. I've seen plenty of Java and C++ code where there is one interface class for every concrete class, even when just one concrete class is ever implemented, for example. I've also seen cases where some "factory" pattern is force-fit into the architecture, and the objects it creates are kinda sorta related, but ought not be in code. It gets exponentially worse as more interfaces and more levels in a hierarchy are allowed.

The compiler isn't always going to be able to collapse or elide these.