Java is a great language and runtime. Java being slow is most often a pebcak scenario. There are massive, fast, low latency, Java systems out there that have been written by competent developers.
Am I the only one who thinks "pebkac" is a self-own? If you're blaming your users for the tool, it feels like maybe your tool is just hard to use properly. I have no doubt that there are big, fast, low latency Java systems out there, but why does it take so much extra effort to build these systems in Java compared with other languages? Maybe it would be better to have competent developers focus their attention beyond managing Java's shortcomings?
I'm not even hating on Java here--I actually like the JVM quite a bit, but blaming users feels like an implicit admission.
pebkac is always the excuse with Java. "Oh, you didn't pass 6 -Xmxsmxmwhatever flags to make the JVM do sane things with your memory? You did stuff the regular way instead of whatever decorator-heavy framework? You didn't use this new feature they added last release? Were you born yesterday?"
And then there is real pebkac. Java code tends to be the worst, even though there are more newb-friendly things out there like JS. Sure you can choose to be a good programmer and use Java, but if you're being offered to join a "Java team," that doesn't usually mean good things.
The entire premise of the conversation is that other languages allow us to write idiomatic code and get good performance, and the parent's position was that Java requires "competent developers". So yes, the parent did say that, however...
> There's no such thing as a programming language that guarantees excellent performance regardless of programming competence.
No one made any claim remotely like this. This is a very obvious straw man argument. What was argued was that you can get decent performance from other languages without additional competence beyond idiomatic code.
Am I the only one who thinks "pebkac" is a self-own? If you're blaming your users for the tool, it feels like maybe your tool is just hard to use properly. I have no doubt that there are big, fast, low latency Java systems out there, but why does it take so much extra effort to build these systems in Java compared with other languages? Maybe it would be better to have competent developers focus their attention beyond managing Java's shortcomings?
I'm not even hating on Java here--I actually like the JVM quite a bit, but blaming users feels like an implicit admission.