C++, der Jumbo unter den Programmierwerkzeugen

Unter den modernen und viel genutzten Programmiersprachen ist C++ sicher die Anspruchsvollste. Sie gehört zu den mächtigsten Programmierwerkzeugen und macht effiziente, maschinennahe Programmierung auf hohem Abstraktionsniveau möglich. C++ legt einen Schwerpunkt auf die Sprachmittel zur Entwicklung von Bibliotheken. Sie favorisiert also verallgemeinerte Mechanismen gegenüber sprachlich integrierten Einzellösungen für typische Problemstellungen und erreicht damit eine hohe Flexibilität. Zum Beispiel im Fall der anpassbaren Speicherverwaltung, in die sich nahtlos eine automatische Speicherbereinigung integrieren lässt.

C++ ist eine Mehrzwecksprache, die mehreren Programmierparadigmen folgt: imperativ, strukturiert, objektorientiert, generisch und prozedural. Also quasi ein Tausendsassa, der aufgrund seiner Vielseitigkeit ähnlich stark angewendet wird wie die Programmiersprachen Java und C#. C++ wird sowohl in der Anwenderprogrammierung als auch in der Systemprogrammierung eingesetzt. Typische Bereiche sind hier Betriebssysteme, eingebettete Systeme, virtuelle Maschinen, Treiber und Signalprozessoren. Mit C++ wird heute häufig dort programmiert, wo früher ausschließlich Assemblersprachen und C zum Einsatz kamen. In der Anwendungsprogrammierung hat C++ gegenüber Java und C# etwas an Boden verloren. Es kommt jedoch immer dann zum Zuge, wenn maximale Forderungen an Effizienz gestellt werden.

Wichtige Sprachmerkmale von C++: Die Klassen haben das Merkmal der Mehrfachvererbung und virtuelle Funktionen, es sind Templates (Schablonen) und Namensräume eingerichtet. In C++ kann man Operatoren und Funktionsnamen überladen, mit Referenzen arbeiten, hat eine erweiterte Bibliothek und Operatoren für die Freispeicherverwaltung zur Verfügung. Das breite Leistungsspektrum und die Gestaltungsmöglichkeiten von C++ werden selten in vollem Umfang genutzt.

Der Name ist Programm

Im Anfang hieß C++ einfach „C with classes“, um die neue Objektorientierung gegenüber dem gebräuchlichen C zu verdeutlichen. Ende 1983 schuf dann Rick Macitti das „++“ als Ergänzung zum Herkunfts-C. Dieses „++“ bedeutet weder, dass man in C++ alles doppelt schreiben muss, noch, dass die Sprache doppelt so gut funktioniert wie andere. Das „++“ ist ein Inkrement-Operator, der den Wert einer Variablen um eins erhöht. Variabel und im Wert immer einen Schritt voraus, so soll C++ sein.

Die Geschichte von C++

Ausgangspunkt war das Laboratorium der Telefongesellschaft AT&T Bell. Dort brütete Bjarne Stroustrup ab 1979 über einer Programmiersprache, die geeignet war, große Software-Projekte effizient umzusetzen. Sein Vorbild war die Sprache Simula, die aber in ihrer Struktur zu schwierig und deshalb ungeeignet schien. Stroustrups Wahl fiel auf die Programmiersprache C, die schnellen Code produzierte und einfach auf andere Plattformen zu portieren war. Außerdem war sie stark verbreitet, denn sie wurde obligatorisch dem Betriebssystem UNIX beigefügt. Zunächst ergänzte Bjarne Stroustrup die Syntax von C um Klassen mit Datenkapselung, dann um abgeleitete Klassen, ein strengeres Typsystem, Inlinefunktionen und Standard-Argumente. Im Laufe der Jahre entwickelte er die Sprache so weiter, dass sie zu einem der umfangreichsten Programmierwerkzeuge wurde.

Anfänglich existierten unterschiedliche Dialekte von C++, die nicht einmal untereinander kompatibel waren. Es gab keine verbindlichen Standards und demzufolge immer wieder Ärger bei der Kompilierung, der Übersetzung. Deshalb erarbeitete ab 1990 die ANSI-Standardisierungsgruppe mit mehreren Komitees einen einheitlichen Standard für C++. Der erste Entwurf wurde 1995 verabschiedet, bereits ein Jahr später erschien eine nachgebesserte Version. 1998 beschäftigte sich dann auch die ISO mit C++ und gab einen eigenen Standard heraus. Dieser gilt in weiten Teilen noch heute. Wer sich nach diesem Standard richtet, kann sicher sein, dass unterschiedliche Compiler seinen C++-Code fehlerfrei übersetzen können. Im Dezember 2005 wurde dann der C++/CLI Standard von der ECMA verabschiedet. Er erweitert C++ um zusätzliche Sprachelemente.

C++ ist eine außerordentlich lebendige Sprache. Ein eigenes Komitee arbeitet permanent daran, C++ der sich schnell verändernden Computer-Technik anzupassen und bekannte Schwächen auszumerzen. Während die Version 2008 nur geringfügige Vorteile gegenüber 2005 brachte, bietet C++ 2010 deutliche Verbesserungen in der Systemprogrammierung, beim Erstellen von Bibliotheken und in der ganzen Systematik. So ist es auch für Anfänger leichter zu erlernen.

Was sagen uns diese Buchstaben?

ANSI = American National Standards Institute
Dahinter steht eine ganze Reihe von amerikanischen Ausschüssen, die sich genauso um Standardisierungen in vielen Bereichen bemühen wie es in Deutschland das DIN (Deutsches Institut für Normung) tut. Für den Bereich Computer, Datenverarbeitung und Informationstechnologie ist der Ausschuss ANSI-X3 zuständig.

ISO = International Standardization Organization
Die ISO gehört zu der Reihe übergeordneter „Weltinstitute“, die Standards für Produkte schaffen. Mitglieder der ISO sind unter anderem die ANSI und das DIN.

ECMA = European Computer Manufacturers Association
1961 als private Normungsorganisation der Industrie für Informations- und Kommunikationssysteme gegründet. Inzwischen hat sich die Organisation den Zusatz „international“ verliehen und bezeichnet sich als European Association for Standardizing Information and Communication Systems.

CLI = Common Language Infrastructure
Diese allgemeine Sprach-Infrastruktur schafft eine Basis für Computerprogramme, unabhängig von der Programmiersprache und der Plattform. Diese Sprachnorm funktioniert nur, wenn die nach der Norm in irgendeiner Programmiersprache geschriebenen Codes zunächst in eine Zwischensprache, die CIL (Common Intermediate Language) übersetzt wird und dann durch einen JIT (Just in time Compiler) in ein ausführbares Programm gewandelt wird. Der JIT ist Bestandteil einer Laufzeitumgebung, der CLR (Common Language Runtime), die auf dem Rechner installiert sein muss.

C++ für Windows

Kaum eine Programmiersprache passt zur anderen. Wenn Sie Teile eines Programms in C++ programmieren und Teile in Java, fangen normalerweise die Probleme schon an. Einen Ausweg aus dem Dilemma der fehlenden Kompatibilität bietet der Standard CIL (Common Language Infrastructure). Im .NET Framework von Microsoft Windows ist diese CIL integriert. Sie sorgt dafür, dass Sie Programmteile aus unterschiedlichen Sprachen zusammenfügen und sicher übersetzen lassen können. C++ ist nach der Standardisierung durch die ECMA voll kompatibel mit CIL. Das .NET Framework stellt darüber hinaus viele vorgefertigte Komponenten und Funktionen zur Verfügung, die jedem Programmierer die Arbeit in C++ erleichtern. Windows-Anwendungen können oft schon mit wenigen Mausklicks komfortabel programmiert werden.

Schon mit der Integrierten Entwicklungsumgebung Visual C++ 2005 Express Edition legt Microsoft allen Entwicklern das Instrument in den Rechner, das sowohl ISO C++ als auch C++/CLI und das .NET Framework unterstützt.

C++ lernen lohnt sich – Gratis-Infos hier!

Suchen



gratis-infos-box