Die Programmiersprache C war ursprünglich durch die klassische Publikation von Kernighan und Ritchie, "The C Programming language", definiert, und dies war bis vor wenigen Jahren der Standard für alle C Programmiererinnen. Der ANSI Standard für C wurde schließlich im Dezember 1989 als offizieller Standard für das Programmieren in C festgelegt. Der ANSI-C Standard erweitert die ursprüngliche Sprache der Kernigan und Ritchie-Definition um Vieles und ändert sie in einigen wenigen Punkten ab. Die beiden Definitionen sind nicht zu hundert Prozent kompatibel und einige erfahrene C Programmiererinnen haben die neueren Konstrukte des ANSI-C Standards möglicherweise noch nicht genau studiert.
Diese Einführung setzt ein solides Grundwissen der Programmiersprache C voraus, und wir werden nur sehr wenig Zeit mit den Grundlagen verbringen. Um denjenigen, die den C-Dialekt nach Kernigan und Ritchie gelernt haben, ein wenig unter die Arme zu greifen, werden sich einige Abschnitte den Neuerungen des ANSI Standards widmen. Während der ANSI-C Standard entwickelt wurde, übernahm man viele der neuen Konstrukte von C++ in die Definition von C selbst. Zwar ist also C++ eine Erweiterung von C, es ist aber nur fair zu sagen, daß ANSI-C einige seiner Wurzeln in C++ hat. Ein Beispiel dafür wären etwa die Prototypen, die für C++ entwickelt und später zu C hinzugefügt wurden.
Der beste und einfachste Weg, C++ zu erlernen, ist, es zu verwenden. So gut wie jedes korrekte C Programm ist auch in C++ korrekt und die ungefähr 12 neuen Schlüsselwörter sind der einzige Grund, warum einige C Programme nicht als C++ Programme compiliert und ausgeführt werden können. Es gibt einige weitere Unterschiede, deren Diskussion wir uns aber für später aufheben. Somit ist der beste Weg, C++ zu erlernen, das vorhandene Wissen (C) zu erweitern und neue Konstrukte zu verwenden, wenn sie in einem Programm gerade nützlich sind. Es wäre ein großer Fehler, zu versuchen, alle neuen Konstrukte und Konzepte in Deinem ersten C++ Programm anzuwenden. Am Ende hättest Du möglicherweise einen unverständlichen Mischmasch an Quellcode, ineffizienter als dasselbe Programm in C alleine. Es wäre viel besser, nach und nach neue Konstrukte in Deinen Talon aufzunehmen und sie anzuwenden, wenn sie gebraucht werden während Du Erfahrung im Umgang mit ihnen sammelst.
Als Illustration der Portabilität von C nach C++ kann wohl der Hinweis dienen, daß alle Beispielprogramme des Coronado Enterprises C Tutorial einwandfrei als C++ Programme kompiliert und ausgeführt werden konnten. Dabei handelte es sich um die historische Version 2.6, die anno 1994 erschien. Durch die Neuerungen und Änderungen der C++ Compiler seit damals mag dies heute nicht mehr stimmen. Keines der C++ Programme wird sich allerdings als C Programm kompilieren lassen, aus dem ganz einfachen Grund, daß der neue C++ Kommentarstil verwendet wird (da die meisten neueren C Compiler auch C++ Compiler sind, tolerieren sie aber in vielen Fällen die Verwendung dieser Kommentare und geben schlimmstenfalls eine Warnung aus).
Copyright © 1997, 1998, 2001-2006 Heinz Tschabitscher - Letzte Änderung 9. Februar 2006
Heinz Tschabitscher - | Datenschutz | Impressum - Kommentare, Kritik, Anregungen, Heiratsanträge?