Relate in brief - Microsoft vs Java
Microsoft hates Java, as a Java program (portable) isn't tied to any particular operating system. If Java is popular, then programs written in Java might promote non-Microsoft operating systems. Essentially the same reason, all the non- Microsoft vendors think Java is a great idea.
Microsoft's C# is very similar to Java though with some improvements, and some questionable features added in, and it's not portable in the way Java is. Usually it is considered that C# will be successful in the way that Visual Basic is: a nice tool to build Microsoft only software.
Microsoft has used its power to try to derail Java somewhat however Java remains very popular on its merits.