John wrote:

> There is nothing to set C# apart from Java, except for the impossibly
> huge .NET framework for developing a billion different kinds of
> applications.

Please, have a look at 
http://taubz.for.net/blog?entry=http://taubz.for.net/blog/blog-6956298/dd7d1bf8-3fcd-4a3a-8fba-d4dca0c5da12

How can a language where you can write this be as bad as Java?

   var old_numbers = new [] {1, 2, 3, 4};
   // And yes, I still don't like arrows. :/
   var new_numbers = old_numbers.map(number => { number * 2 });

True, this is not possible just yet, but C# 2 already introduced 
features like yield return and delegate(int x) { return x * 2; } that 
are a huge step away from the simple mindedness of Java.

I think C# is becoming a sensible language. It's still statically typed, 
of course, but it is improving heavily.