Hacker News new | ask | show | jobs
by za3faran 1241 days ago
That's quite an exaggeration. The JVM philosophy is different from .NET's, even though there is a large overlap with them being VM based languages. C# has gotten too complex as a language, with so many features. C# also exposes lower level constructs, whereas the JVM tries to do a lot of different optimizations instead. The JVM has the best GCs in the industry, and the best monitoring and observability through JFR.
1 comments

> C# has gotten too complex as a language, with so many features.

I really wouldn't say so. All the new features are convenient and easy to understand, especially if you have Visual Studio to teach them to you (type if (x == null) x = new .. and you get a popup to transform it into the new operator). It's not a zoo like C++.

Compare C#'s colored functions to Java's Loom. .NET has only one GC implementation, so if it doesn't work for your use case (low latency), you have no choice but to migrate to a different platform.
To be fair, I think they get around the lack of GC choices by rewriting slow paths to code that uses value types and low level code.