Hacker News new | ask | show | jobs
by kllrnohj 753 days ago
The gap between Java and [C++,Rust,Obj-C,Zig?,D?] is approximately equivalent to 5-8 years of CPU hardware improvements these days.

Software engineer time is still often the primary cost metric, but Java didn't ever get actually fast - things like constant pointer chasing and poor cache utilization still hurt it significantly in "regular" code. So, too, does the complete lack of compile time optimizations and limited JIT thoroughness & comprehensiveness.

1 comments

The culture around Java doesn't help either, with its love for insane amounts of abstraction and overengineering.
Culture definitely hurts it a lot. It seems like any question involving Java and anything performance related is "you don't, you're stupid, the JIT fixes everything, never measure, never benchmark, premature optimization is the root of all evil which means never, ever attempt to optimize anything ever"

There's pockets of people doing Java + performance, but they are far & away the exception and they are frustratingly insular about what they do & why they do it. And yeah it tends to often go against every bit of guidance from things like Effective Java & similar.