Nur mal so kleine Anmerkungen:
Solange eine Sprache Turingvollständig ist, kann man damit alles machen, was man auch mit einer anderen Turingvollständigen-Sprache machen kann. Also alles was man in zb. C# zum umsetzen schafft, kann man eigentlich auch in C, ASM, Java, PHP, .... umsetzen (der dazu benötigte Aufwand ist jedoch eine andere Geschichte

).
Und man sollte erwähnen dass C# fast ausschließlich für Windows geeignet ist (Ja, ich weiß, es gibt Wege, aber komfortabel ist etwas anderes)