why dotnet is better than java