Java is one of the giants and there are tons of existing and new projects that use it. Hotspot is the choice for high performance programs. Approaching its performance even with C++ requires a dedicated team of experts. Look at QuestDB, or Netflix, as current examples of projects choosing Java.
The languages that get a lot of airtime on HN like Rust, Go, and OCaml are way down in a tier of languages that get a lot of blog posts but enjoy relatively little traction in reality.
The languages that get a lot of airtime on HN are the ones the young people will just use by default.
Hotspot is the current choice for high performance programs, but is Rust lower performance in some way or are the only downsides related to its younger age?
It’s perhaps useful look at what languages brand new projects are being started with rather than just looking at what languages large established companies like Netflix are choosing.
The fact of the matter is that you read through a lot of these start up blogs on how they scaled X technology to some amazing number like 1000 users a day or whatever. But your average Java Spring app on Postgres is doing some far heavier workloads.
Go is a bad example since it's ubiquitous in the Kubernetes world, in particular with k8s "operators" (for a variety of reasons)
> Hotspot is the choice for high performance programs. Approaching its performance even with C++ requires a dedicated team of experts.
It's very surprising to hear you say this, as it's so contrary to my experience.
From the smallest programs (Computer Language Benchmarks Game) to pretty big programs (web browsers), from low-level programs (OS kernels) to high-level programs (GUI Applications), from short-lived programs (command-line utilities) to long-lived programs (database servers), it's hard to think of a single segment where even average Java programs will out-perform average C, C++, or Rust programs.
I hadn't heard of QuestDB before, but it sounds like it's written in zero-GC Java using manual memory management. That's pretty unusual for Java, and would require a team of experts to pull off, I'd think. It also sounds like it drops to C++ and Rust for performance-critical tasks.