Unterschied zwischen C und C++

Worin liegt der Unterschied von C und C++?
Sind es zwei verschiedene Programmiersprachen oder ist C++ nur eine
Weiterentwicklung.
In welchen Bereichen wird C bzw. C++ einge-
setzt?? Sprich was kann man damit machen?

Hi,

Das duerfte eine der am haeugsten gestellten Fragen hier sein :wink:

C++ ist eine „Erweiterung“ zu C. Du kannst in C++ reinen C-Code problemlos verwenden - umgekehrt gilt das nicht. Die Erweiterung besteht in besonderen Datenstrukturen, die sogenanntes objektorientiertes Programmieren ermoeglichen. Objektorientierung dient unter anderem dazu Code besser wiederverwendbar zu gestalten, und groessere Projekte besser handhaben und pflegen zu koennen. Ausserdem gibt es bei C++ bestimmte vorgefertigte Datenstrukturen in die man alles moegliche reintun kann. Diese „Datencontainer“ ermoeglichen eine einfachere Handhabung von Programmvariablen, so dass die bei C sehr Fehleranfillige Speicherarithmetik umgangen werden kann.
Beide Sprachen haben ihre Fallstricke. Bei C ist besonders die Speicherarithmetik zu nennen, die einem viel Freude bereiten kann :wink:
Ausserdem wird C-Code unweigerlich irgendwann schlecht, wenn man nicht zufaellig ein sehr ordentlicher Programmierer ist (und schon zu Anfang eines Projektes genau weiss, was noch alles kommen soll).
Der Syntax von C++ ist viel komplexer als der von C. Den kompletten C-Syntax zu lernen und zu verstehen ist nichts, was man mit ein zwei Jahren Uebung nicht hinbekommen koennte. C++ ist zwar auch nicht voellig unueberschaubar, aber es gibt da schon einiges, was einen immer mal wieder raetseln laesst, was da denn nu schon wieder passiert (ich sage nur ueberladene Operatoren …)

„Maschienennaher“ Code wird heute oft in C geschrieben (Sachen, die schnell laufen muessen, frueher war hier Assembler die Wahl der Mittel, aber nur relativ wenige Menschen koennen groessere Programmteile in Assembler schreiben). Ausserdem bietet sich C fuer nen schnellen Hack und kleinere Programme an.
Groessere Projekte werden meist in C++ geschrieben - insbesondere, wenn nicht einzelne Programmierer, sondern ganze Gruppen daran arbeiten.
Wenn Du C++ lernen willst kommst Du an C nicht vorbei (Du lernst es halkt mit). Wenn Du gut werden willst, solltest Du C intensiv lernen. Wenn Du erst mal ins Programmieren reinschnuppern willst, empfehle ich eine Skriptsprache wie Tcl oder Perl (die sind langsamer, aber insbesondere Tcl ist extrem schnell zu lernen, da der Sybtax sehr simpel ist - Tcl verwendet auch Anlehnungen an den C-Syntax, sowie an gewisse Shellskriptsprachen).

Gruss

Thorsten

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]