C# został stworzony na potrzeby platformy .net przez M$. Z tego co kojarzę, to głównym twórcą języka jest ta sama osoba, co była odpowiedzialna za Delphi.
Różnice pomiędzy "normalnym" C/C++ a C# są ogromne. Oto kilka z nich:
- Nie można normalnie korzystać z bibliotek STL (co się często przydaje)
- Cudo które nazywa się Garbage Collector nie pozwala nam na dowolną zabawę z obiektami (alokacja i zwalnianie pamięci)
- W związku z powyższym nie ma normalnych wskaźników
- C# jest zbudowany głównie z myślą o .net
- C# jest zbliżony do Delphi pod względem prostoty pisania aplikacji okienkowych
W VC++ .net posiada rozszerzenia takie jak C# (GC, obsługa .net), a także pozwala na bezproblemowe (prawie) korzystanie z wszystkich bibliotek, więc ja osobiście wolę C++ :d