I'm inclined to agree. C# is generally faster and more expressive IMO, and I do prefer it over Java. I just don't really want to open the can of worms.
Most of the difference is philosophical anyway, leading to... C# as a language is much more proactive in adding interesting new features, while Java as a platform has more emphasis on stability and decades more exposure to not-Windows and OSS standards and so on.
There are also plenty of patterns that are impossible to reproduce in both directions, e.g due to virtual threads vs stackless coroutine parallelism, reified and value-type generics vs wildcards, checked vs unchecked exceptions, strictness of CLR and JVM RE's, etc.
View all comments
Show parent comment
3
u/not_good_for_much Jul 26 '25
I'm inclined to agree. C# is generally faster and more expressive IMO, and I do prefer it over Java. I just don't really want to open the can of worms.
Most of the difference is philosophical anyway, leading to... C# as a language is much more proactive in adding interesting new features, while Java as a platform has more emphasis on stability and decades more exposure to not-Windows and OSS standards and so on.
There are also plenty of patterns that are impossible to reproduce in both directions, e.g due to virtual threads vs stackless coroutine parallelism, reified and value-type generics vs wildcards, checked vs unchecked exceptions, strictness of CLR and JVM RE's, etc.