Hacker News new | ask | show | jobs
by wudangmonk 753 days ago
Its easy to see how people would become used to expect everything to be slow. Python is the most popular programming langauge both in schools and in general.

I can't think of a slower language. Then all your IPC is done through json as if everything was a website hundreds or thousands of miles away instead of something more sensible such as a shared memory.

1 comments

Java? Its speed, or the lack thereof, was a common joke in the 90s and 00s.
But that changed a long time ago. Now, the main bottleneck with Java is memory usage, but 20 years of JITing have turned Java into a language more than fast enough for most tasks.

Won't beat Rust on most benchmarks, of course.

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.

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.

That is indeed the case, but at the same time, even early Java (back when it was still a bytecode interpreter without JIT) was considerably faster than Python is today. Python is kinda slow by design - just look at the descriptor protocol for an example.
Running a java is still slow as hell, in 2024

It still takes many seconds to just start the program

Maybe the JRE is simply a pain to start ?

It has a lot of upfront costs, but that is separate from "hot" performance once everything is loaded.