C++

C++ ist eine Weiterentwicklung der Programmiersprache C und gehört zu den sogenannten objektorientierten Programmiersprachen.

Plattformübergreifend

C++ Programme lassen sich auf sehr vielen verschiedenen Rechnertypen und Betriebssystemen umsetzen, von den Standardplattformen PC, Mac über UNIX-Systeme bis hin zu Mikrokontrollern. Im Gegensatz zu Programmiersprachen wie Java existieren jedoch Einschränkungen der Plattformunabhängigkeit.

Diejenigen Teile eines Programms, die direkt auf Ressourcen des Betriebssystems zugreifen, wie z.B. den Drucker, müssen für jedes Betriebssystem einzeln geschrieben werden. Meist ist der Großteil einer Anwendung plattformübergreifend in reinem C++ gestaltet.

Da wir als Schnittstelle zur Grafikprogrammierung das plattformunabhängige OpenGL verwenden, wird ein Programm, das für einen PC geschrieben wurde, durch minimale Änderungen auch auf OS-X laufen können.

Viele Freiheiten

Es gibt im Grunde keine Grenzen dessen, was in C++ geschrieben werden kann. Kleine Mikrokontroller-Programme lassen sich ebenso realisieren wie komplexe Anwendersoftware. Diese Flexibilität der Sprache fordert allerdings auch ihren Tribut.

Während in einfachen Skriptsprachen (z.B. Javascript, Flash) mit wenig Aufwand schnell Ergebnisse erzielt werden können, erfordert C++ mehr Handarbeit. Im Gegenzug wird der Programmierer mit schnelleren Programmen und flexibleren Möglichkeiten belohnt.

Sehr gute Performance

C++ Programme sind sehr schnell (im Vergleich zu anderen Hochsprachen wie Java), ermöglichen also auch komplexe Berechnungen in sehr kurzer Zeit. Im Gegenzug wird große Sorgfalt in der Programmierung verlangt.

Objektorientierte Programmiersprache

Es war einmal... In den frühen Tagen der Computer existierten zwei getrennte Speicher. Ein Teil des Speichers war reserviert für Befehle an die Maschine, der zweite Speicherbereich für Daten, die durch die Befehle verändert werden konnten. Heutige Computer besitzen einen gemeinsamen Hauptspeicher, den sich Befehle und Daten teilen.

Es war einmal... Bis vor einigen Jahren existierte auch in der Programmierung eine strikte Trennung zwischen Daten und Funktionalität. Die objektorientierte Programmierung führt diese beiden Bereiche zusammen.

In den bisherigen Programmiersprachen war die Grundeinheit eines Programms eine Prozedur bzw. Funktion. Diese Funktion bestand aus Befehlen. Ihr wurden Daten von außen übergeben und sie spuckte veränderte Daten wieder aus (das EVA-Prinzip - Eingabe - Verarbeitung - Ausgabe).

Paradigmen der Programmierung

In einer objektorientierten Sprache werden Daten mit zugehöriger Funktionalität in einer Klasse zusammengefasst. Da eine gewisse Funktionalität zu gewissen Daten gehört, könnte man von intelligenteren Daten sprechen, die gleich selbst angeben, wie mit ihnen verfahren werden kann. Man nennt Daten und Funktonalität letztendlich Attribute und Methoden einer Klasse, aber sazu später mehr.

Wichtig ist, Klassen und Objekte nicht zu verwechseln. Klassen beschreiben Daten und Funktionalität, die zu den Objekten gehören. Ein konkretes Objekt, z.B. der grüne Apfel, der 100g wiegt, bezeichnet man dagegen als Instanz aus der Klasse der Äpfel.

zurück