No C# není špatný jazyk, neříkám, že je nejlepší (což není žádný), ale je funkční, hlídá za tebe kde co, návrhem nedělá nějaké blbosti (vše je třída etc. a tak tomu doopravdy, ne jako některé jiné jazyky, které něco někdy umí, jindy ne...), dnes má širokou podporu MS (MSDN není špatná) a v firmy ho používají (což nesvědčí o jazyku, ale pokud chce člověk mít také práci, tak je to dobré).
Co se týče programátorské části, tak plně funguje v Monu. Mono holt nemá takovou podporu WinForms a těchto zcela specifických věcí (prostě nemá stejnou fgrafiku)... zas MonoDevelop dobře umí GTK, škoda že rovnou nemá i Qt, pak by to bylo zcela ideální. Je to moloch, ale zas v něm můžeš udělat zcela jednoduše i docela velké věci... do budoucna to jinak nepůjde. Stejně ty "čisté" lehké jazyky v reálném použití zaplavíte tunou cizorodých knihoven, takže pochybuji, že dlouhodobě bude ten výsledek tak jiný.
Samozřejmě vaše příklady OS a projektů typu Xorg, grafické prostředí jsou fajn, ale kolik "programátorů" se k nim dostane? Nejdřív se musí naučit opravdu dobře programovat (to už stejně bude umět, alespoň 4 jazyky) a pak se mu musí chtít piplat s takovýmito nízkoúrovňovými věcmi... Spousta lidí zůstane u drobnějších aplikací, kde rozhoduje hlavně jednoduchost výroby, popřípadě u větších nenízkoúrovňových projektů. Třeba jsem nedávno potkal nějaký multiplatformní simulátor vlaků a byl psán v C#...
Pro tazatele: Pokud opravdu začneš programovat, tak začneš používat víc jazyků. C++ a C# jsou navíc relativně příbuzné (syntakticky téměř identické, zvláště pokud porovnáváš s větší množinou prog. jazyků a ne jen těmi nejvykřičenějšími), čili to opravdu není problém střídat. Zkusil bych se naučit takový úvod k oboum a pak dle chuti. Každý má své výhody a nevýhody.
Edit: Tady jsou ty C# vláčky:
http://www.openbve.org/Edit 2: Tak jsem přemýšlel nad těmi okénky pro Mono a MonoDevelop a:
http://www.mono-project.com/Gui_ToolkitsNo koukám, že jsem je podcenil, těch Gui mají hodně - i když otázka je jak je to s reálnou použitelností, ale věřím, že ty WinForms budou třeba do roka standartní součástí. Dělám teď jeden projekt v C# (tak si asi s různými gui pohraji a pak snad sepíši).