C++ se hodí kamkoliv, kde je dostupný plnohodnotný C++ kompilátor (ideálně ještě s knihovnou Boost). To je totitž kompletní C++ prostředí.
Až bude .NET plnohodnotně se vším všudy portovaný na Linux, tak se mu server s názvem "LinuxAndUbuntu" taky třeba bude věnovat - podobně jako třeba Javě.
.Net core je celkem nový a staré aplikace v tom asi moc nepůjdou, musí se to částečně přepsat a znovu překládat
Mono taky není ideální, část věcí je zabugovaná, část věcí tam chybí (třeba WPF) a část interfaců má implementace, které akorát vyhazují NotImplementedException :-). Pokud má člověk reálnou aplikaci složitější než HelloWorld a zkusí ji spustit, tak to fungovat může, ale nemusí.
.NET core je primarne pro server side aplikace, konec koncu tech WPF aplikaci se netvori moc uz ani na Windows.
S portaci mas pravdu, ale s .NET Core 2.0 se to hodne zlepsilo, pribylo hodne API z .NET frameworku, portace je vetsinou hodne pohodova u knihoven, pokud je vubec neco potreba menit (hodne zalezi, jak stary .NET framework to puvodne cililo).
A pro nove aplikace je to docela sympaticke prostredi, s VS Code se to pohodle vyviji na Linuxu, MS jednou pro zmenu prijemne prekvapil :)