There's a blog post I've been meaning to write that challenges your belief about C#, but comparing C# to Ruby. The problem is that idiomatic C# looks like Java, even though the language and .NET library allows you to code like idiomatic Ruby and Python. It's just that most people don't naturally code C# that way, even though you can.