Worin unterscheiden sich Bzw. gibt es C, C#, C+ und C++?
Danke!:)
6 Antworten
![](https://images.gutefrage.net/media/default/user/8_nmmslarge.png?v=1551279448000)
Am Anfang war das C. Erschienen ist das 1972. C ist also erschienen, als diese ganzen Programmiersprachenkonzepte noch sehr neu waren.
Jetzt hat man weiter an Programmiersprachen geforscht und ein völlig neues Konzept entwickelt - genannt "Objektorientierung". C fand man cool - jetzt wollte man aber auch in C diese coolen neuen Konzepte haben.
Deshalb kam das C++ 1985. C++ hat man diese neuen objektorientierte Konzepte einfach in C reingekloppt - bis auf ein paar ganz kleine Ausnahmen hat man C aber nicht angefasst, sondern nur neue Sachen zu C hinzugefühgt. Du kannst also, wenn du C++ programmierst, auch C-Code schreiben - das ist gültig.
2001 - also 16 Jahre nach C++ - kam Microsoft auf die Idee eine neue Sprache zu bauen. Und man hat halt Namen gesucht - und ganz beliebter Trick ist das Zeug so ähnlich zu nennen, wie etwas, was bereits weit verbreitet ist. Deshalb hat man es halt C# genannt. Viel gemeinsam außer syntatkische Anlehnung zu C/C++ gibts aber nicht.
Und glaub mir: Es sind sehr viele Sprachen syntaktisch bzw. von den Grundkonzepten von C/C++ - wie z.B. Java und Javascript (übrigens: gleicher Tick; Javascript hat absolut nichts mit Java zutun).
![](https://images.gutefrage.net/media/default/user/6_nmmslarge.png?v=1438863662000)
C: Ursprüngliche Programmiersprache, (auch) für die Programmierung von Betriebssystemen geeignet, geringer Befehlsumfang. Eher schwierig, da vieles möglich ist.
C++: Erweiterung von C um die objektorientierte Programmierung, Templates etc. sowie Weiteres wie z.B. bool, aber auch weiterhin ohne OOP verwendbar. Dank der umfangreichen Bibliotheken ist C++ inzwischen doch etwas anderes als C, im Ergebnis deutlich von der Maschinencode-Logik abstrahbarer.
C#: Microsoft-Lösung in anfänglicher Ähnlichkeit zu Java für Windows, inzwischen eine sehr selbständige Programmiersprache, zwingend OOP, mit Mono auch in gewissen Umfang plattformerweitert. Gemeinsamkeiten zu C gibt es im Prinzip nicht mit sehr wenigen Ausnahmen, insbesondere bei der Struktur-Syntax ({}, for, while, teilw. (!), Operatoren und weniges mehr, anders jedoch bei Arrays, Aufbau und Einbindungen sind auch deutlich anders). Dank WPF und anderen Ergänzungen lässt sich C# inzwischen kaum noch in einem Satz mit C sagen, eher mit Java. Man sollte sich klar sein, dass C# im Prinzip die .NET-Lösung ist, also ganz weit weg von C. Arg überspitzt gesagt: C ist von C# in etwa so weit entfernt wie Java von Assembler. Stimmt nicht ganz, aber als grobe Orientierung.
C+: gibt es nicht, zumindest kenne ich es nicht, vielleicht hat einer seinen Compiler mal so genannt (oder auch nicht). Dieses ++ ist ein Operator aus C, daher der Name C++. ++C wäre wohl richtiger gewesen.
![](https://images.gutefrage.net/media/default/user/14_nmmslarge.png?v=1551279448000)
![](https://images.gutefrage.net/media/user/PerfectMuffin/1444748168_nmmslarge.jpg?v=1444748168000)
C ist die alte Basis. C+ existiert nicht. C++(Anspielung auf Inkrement-Operator) ist eine erweiterung von C mit halbherziger Objektorientierung, C# ist eine objektorierntierte Sprache vage auf Basis von C(wie Java) das primär mit .NET arbeitet. Kein Experte.
Dazu kann man sagen, dass C und C++ sich wohl auf Linux fühlen, C# aber vor allem Windows-Sache ist. Natürlich sind alle irendwie (von der Sprache slebst her) portierbar.
![](https://images.gutefrage.net/media/user/PerfectMuffin/1444748168_nmmslarge.jpg?v=1444748168000)
Lass das lieber. Wenn das jemand aufschnappt, geht das Ganze wieder von vorne los.
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
![](https://images.gutefrage.net/media/default/user/12_nmmslarge.png?v=1551279448000)
Es sind halt verschiedene Programmiersprachen. Obwohl die Syntax dieser Sprachen ähnlich ist, besitzen sie unterschiedliche Schlüsselworte und haben unterschiedliche Funktionalitäten. C ist am nähesten an der Hardware angesiedelt, hat aber keine Unterstützung für objektorientierte Programmierung, wodurch das Programmieren für Anfänger oft sehr eklig wird.
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Von c+ hab ich noch nie was gehört.
Wie sich die sprachen unterscheiden? Na eine birne ist auch kein apfel. Es sind verschiedene Sprachen. C++ ist eine Weiterentwicklung von C
Zumindest nicht "offiziell"... Aber zumindest ich persönlich verwende "C+" gerne als leicht scherzhafte Bezeichnung für eine "starke" Mischung aus "classic C" und C++. ;)
Z.B. für so Dinge wie C++ mit printf/scanf, fopen/fread/fclose, usw...