.NET C# Java Javascript Exception

.. other than 'popularity' and 'better for beginners'.

Edit: Please don't downvote without giving a reason.

Trying to start a discussion here.
Personally, I'm a (serious) C# developer and whenever I tell that to a Java dev I get an immediate negative reaction. I think this is based on C#'s history as a closed Window's only language. But a lot has changed since then. It's now cross-platform, and almost entirely open-source. There is a well designed set of tools for literally everything in .NET which makes it hard to convince me to give Java another try.

So what are your thoughts? What features are there of Java which are better than today's .NET/C# ?