I work with C# professionally and prefer it to Ruby, PHP and Python simply because it has a superior type system, which allows you to have more checks at compile time and in my opinion that means fewer bugs. It is also preferable to Java in terms of language features.<p>In addition you have code contracts that is a pretty damn good bandaid to the &#x27;allowing nulls&#x27; legacy C# has inherited from it&#x27;s parent languages.<p>Having said this if I were on linux I&#x27;d prefer to use Haskell as it has a superior type system that blows C# out of the water. For example monads cannot be worked with generically in C# through the type system as there are no type  variables &#x2F; type constuctors to allow this.