@Eadon .Net Hell
Just to take issue with your "Finally avoid .NET clones like mono" - MS can't actually hit Mono/users of Mono with patent violation for .NET stuff because, erm, they actually made the spec (not the implementation code) available to anyone that feels like writing an implementation of a managed language - one of the few decent things they've actually done!
And yeah, performance in .Net stuff is terrible for some things, but on the bright side it is a hell of a lot easier to do things like file manipulation or working with system libraries with C# than it every was with C++. Oh, and stuff written against mono (rather than MS.Net) will run more-or-less out of the box on pretty much any linux or windows box with it installed (apart from issues with needed GTK# installed on windows 'cos you can't really use winforms in linux for obvious reasons ;))
The multi-version shite that MS use is a pain though - but again the Mono implementation gets round that... iirc it has pretty much all the features of MS.Net up to 3.5 (definitely at least to V2.0 anyway), but is backward compatible in the core library so you only every need one version, which microsoft should really get around to doing. And yeah - having .Net 3.5 and 4 each incur a 30+ second increase in boot time for some bizarre reason, probably something to do with the friggin registry that MS still haven't fixed!
Anyway, long live .Net and similar standards (like Java) that let you write programs for one OS and run it on any without the pain of recompiling against a completely different heap of libraries, types & function calls.