Every tool has a purpose and Java is a fantastic tool for a lot of use-cases.
Java (and C#) are still legitimate options for server side code when you want speed and type safety but managed memory.
Try throwing someone into a Go project with a C background. Until they learn the way of concurrency there, a lot of time is gone. Or even go one step further and throw a generic procedural coder into something like F# or Haskell. Or take the example of reactive UIs: It took the industry a decade to move from MVP based UI frameworks to reactive based UI platforms and we are far from being done with that move. Angular literal reactive-under-the-hood existence is due to that fact that people love to work with their traditional ways and are more productive in them.
Why people have to live in the past and write C++/Java code?