3 ms·
Why? Because the requirements are so much more challenging. OpenJDK has several state-of-the-art GCs (e.g. for software that values throughput, software that va
by pron 8y ago
Why? Because the requirements are so much more challenging. OpenJDK has several state-of-the-art GCs (e.g. for software that values throughput, software that values latency, and software that's in between), three state-of-the-art compilers (C1, C2 and Graal) plus the frontend compiler, javac, and an extensive standard library. People rely on Java for projects that are much more demanding than those using, say, Python, Go, Node.JS etc. .NET is of a similar size, because the demands are similarly high.
I can tell you that the amount of software switching from other platforms to Java is significantly higher than that switching away. Those switching away are those with lesser requirements (e.g. in terms of performance, data size, management and tooling), and those switching to Java do that because they want the scalability and tooling. The full open-sourcing of the JDK and the new release cadence are big improvements that make Java even more attractive to those that were on the fence before, and the pipeline of major OpenJDK projects (Valhalla, Amber, Panama, Loom, Metropolis) is deeper than ever in Java's history.