Richard Stallman official position on C# and Mono:
The danger is that Microsoft is probably planning to force all free C# implementations underground some day using software patents. (See http://swpat.org and http://progfree.org.) This is a serious danger, and only fools would ignore it until the day it actually happens. We need to take precautions now to protect ourselves from this future danger.
we should discourage people from writing programs in C#. Therefore, we should not include C# implementations in the default installation of GNU/Linux distributions, and we should distribute and recommend non-C# applications rather than comparable C# applications whenever possible.
Personally, I really like programming in C#. Maybe the source of the complexity of this situation is this: programmers love C# and users love some programs written in C#. But if the goal is free software, Mr.Stallman tells you there’s no compromise. I think that currently the best alternative is python, because C# aims for simplicity of syntax to speed up developing and to ease abstraction, and python is good for both. The price to pay is performance, but this could get better in the future.