Einordnung zu anderen Programmiersprachen
Hier wollen wir nur auf ein paar Verwandtschaftsbeziehungen von C++ zu anderen
Sprachen hinweisen. Der obligatorische Stammbaum steht dann im nächsten
Abschnitt.
- Das meiste hat C++ natürlich C zu verdanken, C ist als Teilmenge
nahezu vollständig in C++ enthalten.
- C stammt wiederum hauptsächlich von BCPL ab. Aus dieser Sprache
übernahm C++ auch die Syntax von Kommentaren.
- Von SIMULA67 wurde das Klassenkonzept übernommen. Dabei stammte auch
die Vererbung und virtuelle Funktionen hieraus. Mehrfache Vererbung
wurde C++ erst später zugefügt.
- Das Überladen von Operatoren wurde ALGOL68 entnommen, ebenso das
für Pascal-Programmierer sehr ungewohnte freie Plazieren von
Deklarationen im Programmtext.
- Templates wurden durch ADA-Generica inspiriert sowie durch parametrisierte
Module in Clu (einer uns völlig unbekannten Sprache)
- Clu verhalf ebenso wie ML und Ada auch zur Ausnahmebehandlung.
- Sehr wichtig waren auch Erfahrungen und Wünsche von Programmierern.
Aufgrund ihrer Vorschläge wurden mehrfache Vererbung, statische
Elementfunktionen und rein virtuelle Funktionen beigesteuert.
Wie man sehen kann, wurde von allem das beste beigesteuert, so daß
eine sehr mächtige Sprache entstand. Dennoch hat auch C++ seine Nachteile,
die sich überwiegend aus seiner Kompabilität zu C ergeben. Dennoch
lohnt es nicht, eine Sprache völlig neu zu entwerfen, da der
Mißerfolg auf dem Markt vorprogrammiert wäre. Selbst das
(zumindest anfangs) als so revolutionär
gelobte Java hätte nicht erfolgreich werden können, wenn es nicht so
nah an C++ angelehnt wäre.