C++ je superset C-a, tj. jezik koji je nastao kao hibrid objektne i proceduralne teorije. Kompatibilan je s C-om, jer je u vrijeme nastanka to smatralo nužnim.
Prastar je i relativno težak početnicima. Pruža jako bitno znanje (po mom mišljenju), ali istovremeno ostavlja opasnost učenja loših praksi i koncepata, te je izrazito podložan bugovima (najviše s memorijom), jer je izrazito blag prema lošem programiranju da bi dopustio hackove i pružio moć na razini one koju očekuju C programeri.
Tko zna dobro programirati u C++u, u 99% slučajeva svaki drugi jezik neće naći problematičnim.
C# je moderan, čisti objektni jezik, sintaksom sličan C++u i jako, jako sličan Javi. Trenutno je (IMHO) najnapredniji široko rašireni programski jezik s podrškom za hrpu modernih patterna, koncepata i s ugrađenom hrpom rješenja koja drastično ubrzavaju razvoj, poput integriranog upitnog sustava (LINQ)(preko ekspresijskih stabala), lambda izraza, dinamičkih opcija, ugrađene podrške za paralelno računarstvo, parsiranje objektnih struktura, XML-a, i sl. i visokom integracijom u .NET framework.