It’s not even really a “chase,” it’s a question of “if I’m building something new, what am I choosing?”
Eventually that momentum can turn into the old thing being worth actively removing.
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.
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.
Companies couldn't care less about the underlying platform or language, they want reliability, stability and tons of easy to find people who can work with it from Day1. Java delivers all that, and will keep delivering for upcoming decades. Big businesses and big money love this (or hate the least out of IT stacks).
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.
I think hybrid implementations, where a project enjoys the beneficial aspects of the language runtime at large, but delegates small, critical functions to other languages, makes sense. That keeps the C, C++, or Rust stuff contained to boundaries that are ponderable and doesn't let those language platforms dictate the overall architecture of the program.
You make a fair point about smart pointers, and median "modern C++" practices with STL data structures are unimpressive performance-wise compared to tuned custom data structures, but I can't imagine that idiomatic Java with GC overhead on top is any better.
A decade ago, a good ~80% of applicants chose to use it or C#.
I personally don't have any issues with working with it, but nobody's learning it outside of work.
On the other hand, it is quite easy to learn, so there's that going for it.