Worin unterscheiden sich Bzw. gibt es C, C#, C+ und C++?

6 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

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.

 

Woher ich das weiß:eigene Erfahrung – Hobby und teilweise beruflich

Trewh13  10.10.2017, 16:25

"++C wäre wohl richtiger gewesen" :D

1

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.


Isendrak  26.08.2017, 18:14

C+ existiert nicht.

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...

0
PerfectMuffin  26.08.2017, 18:43
@Isendrak

Lass das lieber. Wenn das jemand aufschnappt, geht das Ganze wieder von vorne los.

0

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