Worin unterscheiden sich Bzw. gibt es C, C#, C+ und C++?
Danke!:)
6 Antworten
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).
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.
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.
Lass das lieber. Wenn das jemand aufschnappt, geht das Ganze wieder von vorne los.
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.
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...