Informatik :: C++ :: Einführung

Einführung

[Entstehung] [Anwendungsgebiete] [Kompatibilität mit C] [Sprachmerkmale] [Compiler] [Geschichte] [Quelle]

Entstehung

C++ ist eine von der ISO (Internationale Organisation für Normung, internationale Vereinigung der Standardisierungsgremien) standardisierte höhere Programmiersprache.
Sie wurde in den 1980er Jahren von Bjarne Stroustrup bei AT&T als Erweiterung der Programmiersprache C entwickelt.
C++ wurde als Mehrzwecksprache konzipiert und unterstützt mehrere Programmierparadigmen, wie die objektorientierte, generische und prozedurale Programmierung.
C++ ermöglicht sowohl die effiziente und maschinennahe Programmierung, als auch eine Programmierung auf hohem Abstraktionsniveau.
Der Name ist eine Wortschöpfung von Rick Mascitti und wurde zum ersten Mal im Dezember 1983 benutzt. Der Name kommt von der Verbindung der Vorgängersprache C und dem Inkrement-Operator "++", der den Wert einer Variable um eins erhöht.


Seitenanfang

Anwendungsgebiete

C++ wird sowohl in der Systemprogrammierung als auch in der Anwendungsprogrammierung eingesetzt.
Typische Anwendungsfelder in der Systemprogrammierung sind Betriebssysteme, eingebettete Systeme, virtuelle Maschinen, Treiber und Signalprozessoren. C++ nimmt hier oft den Platz ein, der früher ausschließlich Assemblersprachen und der Programmiersprache C vorbehalten war.
Aus der Domäne der Anwendungsprogrammierung wurde C++ mit dem Aufkommen der Sprachen Java und C# zum Teil zurückgedrängt. Bei der Anwendungsprogrammierung kommt C++ heute vor allem dort zum Zuge, wo maximale Forderungen an die Effizienz gestellt werden, um durch technische Rahmenbedingungen vorgegebene Leistungsgrenzen möglichst gut auszunutzen.


Seitenanfang

Kompatibilität mit C

Um an die hohe Verbreitung der Programmiersprache C anzuknüpfen, wurde C++ als Erweiterung von C gemäß dem damaligen Stand von 1990 (ISO/IEC 9899:1990, auch kurz C90 genannt) entworfen.
C-Compiler sind auch heute noch für praktisch jeden Prozessor verfügbar, und in C geschriebene Programme können in der Regel ohne große Anpassungen in C++ übernommen werden.
Die Kompatibilität mit C zwingt C++ aber auch zur Fortführung einiger dadurch übernommener Nachteile. Dazu zählt die teilweise schwer verständliche C-Syntax, der als überholt geltende Präprozessor sowie verschiedene von der jeweiligen Plattform abhängige Details der Sprache. Plattformabhängigkeiten erschweren die Portierung von C++-Programmen zwischen unterschiedlichen Rechnertypen, Betriebssystemen und Compilern.
Die letzten Änderungen an C fanden im Jahr 1999 statt (ISO/IEC 9899:1999, auch kurz C99 genannt), also nach der Normung von C++, sodass dort eingeflossene Änderungen nicht in C++ berücksichtigt werden konnten. C-Compiler, die den Stand der ISO-Norm von 1999 umsetzen, sind aber noch nicht sehr verbreitet. Die theoretisch dadurch entstandenen Inkompatibilitäten spielen deshalb in der Praxis bislang keine große Rolle. Um dennoch einem Auseinanderdriften der Sprachen vorzubeugen, werden die Spracherweiterungen von C bei der in Arbeit befindlichen C++-Version berücksichtigt.
Mittlerweile ist C++ selbst sehr stark verbreitet und kann einen Vorteil gegenüber C oft dann ausspielen, wenn die Größe eines Projektes die Verwendung von Assembler oder C nicht ratsam erscheinen lässt.


Seitenanfang

Sprachmerkmale im Detail

C++ basiert auf der Programmiersprache C wie in ISO/IEC 9899:1990 beschrieben. Zusätzlich zu den in C vorhandenen Möglichkeiten bietet C++ weitere Datentypen, Klassen mit Mehrfachvererbung und virtuellen Funktionen, Ausnahmebehandlung, Templates (Schablonen), Namensräume, Inline-Funktionen, Überladen von Operatoren und Funktionsnamen, Referenzen, Operatoren zur Freispeicherverwaltung und mit der C++-Standardbibliothek eine erweiterte Bibliothek.
C++ ist eine so genannte "Multiparadigmen-Sprache", die verschiedene Programmiertechniken unterstützt:


Seitenanfang

C++-Compiler

Die Implementierung eines C++-Compilers gilt als äußerst aufwändig.
Seit der Fertigstellung der Sprachnorm 1998 dauerte es mehrere Jahre, bis die Sprache von C++-Compilern weitestgehend unterstützt wurde.
Zu den bedeutendsten C++-Compilern gehören:


Seitenanfang

Entstehungsgeschichte


Seitenanfang

Quelle

Wikipedia: http://de.wikipedia.org/wiki/C++