Noch so ein Thema
radikal kuzer Geschichtsabriss:
c ist (von B inspiriert) entstanden als AT&T / Bell eine Programmiersprache entwickeln wollte die hardwarenahe und performnant auf Unixen läuft. C++ ist enstanden als bei gerade genannten eine Sprache mit den Eigenschaften von Simula (übrigens hatte Simula schon in den 60ern einen Garbigecollector, Objekte und wurde Interpretiert!) mit der Performance von C gesucht wurde. Daraus wurde erstmal eine Erweiterung von C (heute auch, auch wenn da echte C++ler mich jetzt gen Erdmittelpunkt wünschen). C++ beinhaltet wie gesagt nicht den gesamten Sprachumfang von C und es gibt auch im vergleichbar interpretierten Bereich unterschiede (<1% Sprachumfang). Beides sind ISO-Standards die von mehreren Namenhaften Firmen getragen werden.
Nun zu C# (gesprochen "C Scharp", wie der Elektronikkonzern) hat entgegen erster vermutungen nichts mit einem erweitertem Taschenrechnerbauer aus Japan zu tun. Es ist die plattformabhängige (kein "un") reinkarnation von Java aus Redmond. Es ist der Versuch endlich die elend langen Kompatiblitätszöpfe der alten Windowsversionen in den Griff zu bekommen, bzw. eher sie in Zukunft zu vermeiden, da man auf seiner eigenen Plattform "Plattformunabhängig" ist. Durch den Druck der immer besser werdenden Implementierung von Mono und sicherlich etwas Nachhilfe des EU-Gerichtshofs-Urteils hat M$ mittlerweile einiges an Spezifikation verraten, Hoffnung besteht. C# will, wie Java, eine Eierlegendewollmilchsau sein; ich halte nichts von Programmen die nicht nativ laufen. Wer nicht sauber programmieren kann, solls lassen! Für schnelle Entwicklung und wenn man Programmcode von anderen ausführen muss (z.B. Hosting, Scripting in Anwendungen) gibt's Scriptsprachen. Man kann eigentlich alle Eigenschaften die ich zu VB oben aufgeführt habe auch zu C# schreiben. Gut man kanns auch als ASP durch den IIS jagen, da kann ich aber mangels Erfahrung nichts zu sagen...

Ich glaub ich schaff das heut nicht viel sachlicher, aber:
Wenn man keine Objektorientheit für ein Projekt braucht (bzw. C++ Libarys), ist C super. Wenn mann modernen objektorientierten Code haben will ist C++ super. Wie gesagt, unternander hochkompatibel (C++/C-Evangelisten verzeiht mir).
C# ist gar nicht so schlecht wie es oben weg gekommen ist. Der Ansatz ist gut, aber das man in Redmond immer das Rad neu erfinden muss und es dann nicht mal 100% rund wird ist traurig! Ist eben genau in der selben Ecke wie Java zu sehen. Es ist für Leute die einfach was für einen X86/64 PC schreiben wollen was schnell zusammengeklickt ist und läuft. Jeder kann selber drüber denken was er will.

einen schönen Abend, mfg
Scoby

Edit:
tschuldigung für den fast gleichen Post wie Felix, habe was länger getippt und mir zwischendurch noch nen Kaffee gekocht (es lebe Senseo)!