I only want to make one point clear. This isn't a debate over whether is better; I'll leave that to someone else to debate. It makes no difference to me. I was asked this topic during my job interview, and I thought it would be beneficial to understand more.
These are the only ones I could think of:
- Java is not dependent on the platform. Nowadays, one may argue that because of the Mono project, C# should be included as well, but I believe this is a bit exaggerated. Why? When a new version of Java is released, it is immediately available on all platforms that it supports; nevertheless, how many features of C# 3.0 are still lacking in the Mono implementation? Is it truly CLR vs. JRE we should be comparing?
- Events and delegates are not supported by Java. As far as I'm aware.
- In Java, all methods are virtual
- Development tools: I don't believe a tool like Visual Studio exists yet. You'll understand what I'm talking about if you've ever dealt with team editions.
What other points can you come up with?