Let me be clear, C# is not a bad language.
Right so why do I detest C#?
When Java 1.0 was released it was the first truly mainstream statically compiled, GC'ed, type safe OO language. And on top of that, it was dead simple to use. You can learn everything about Java's syntax in a day.
In the context of the mid nineties, Java was a huge step forward in terms of productivity. It made network programming fun.
The downside of course is that Java sacrificed features in order to achieve that simplicity.
Fast forward some 13 years and suddenly Java is looking dated. It's missing the kool-aid prevalent in languages such as Ruby or Scala. Attempts to enhance the core language have been a mixed bag, as anyone who's ever gotten caught out with wildcards and type erasure in Java Generics.
However putting it into perspective, Java was a pretty good match for what was needed at the time.
Java and J2EE was a serious threat to M$ at the time and M$ needed to prevent J2EE steamrolling it's COM technology into oblivion.
So what did M$ do?. They had Anders Heljsberg who had made Delphi the king of the RAD tool's in the mid nineties.
They gave him billions and billions of $$ and said; make us the killer development framework.
What did he do:
He created C# and .Net and everyone said:
"wait-a-minute, this look's like a lot like Java!"