Gelesen: C++ Programmierung von A. Willms

Martin Kompf

Das Buch »C++ Programmierung« von André Willms aus dem Verlag Addison Wesley ist ein guter Einstieg für C Entwickler, die auf C++ »upgraden« wollen.

Der lernwillige Einsteiger in die objektorientierte Softwareentwicklung mit C++ muss sich mit einer Reihe von Widrigkeiten herumplagen: Neben einem grundsätzlichen Verständnises für objektorientierte Lösungsansätze ist eine Beschäftigung mit den Besonderheiten von C++ sowie die Aneignung effektiver Programmiertechniken erforderlich. Genau an dieser Stelle setzt das Buch »C++ Programmierung« von André Willms an. Das Buch beginnt mit einer sehr kompakten Einführung in die aus C übernommenen C++ Sprachelemente. Der Leser sollte daher kein absoluter Programmieranfänger sein; Vorkenntnise in einer anderen Sprache, idealerweise C, wären nicht schlecht.

Das folgende Kapitel über objektorientierte Programmierung überrascht positiv durch seine flüssige und verständliche Schreibweise. Danach geht es dann richtig zur Sache: Die einzelnen C++ Sprachelemente - beginnend mit Klassen - werden nach und nach vorgestellt. Dabei folgt auf die theoretische Einführung direkt ein praktisches Anwendungsbeispiel. So wird das im Kapitel »Klassen« erworbene Wissen unmittelbar darauf an der Implementierung von Stacks und Queues ausprobiert. Diese Zweiteilung zieht sich durch das ganze Buch hindurch. Dadurch wird der Stoff sehr praxisnah vermittelt. Sehr gut sind auch die Einführungen der entsprechenden UML (Unified Modelling Language) Notationen für die Sprachelemente und die Übungsaufgaben am Ende jedes Komplexes. Da die Lösungen mit enthalten sind, kann auch ein Autodidakt seinen Fortschritt in den C++ Programmierkünsten jederzeit überprüfen.

Im Buch werden insbesondere auch die wichtigen und für C++ typischen Elemente, wie Templates, Operatorenüberladung und Mehrfachvererbung ausführlichst erklärt. Als Übungsbeispiele hierfür dienen die Implementierung von Listen und Bäumen sowie Such- und Sortierverfahren inklusive Hashing.

Der Eindruck eines rundum gelungenen Werkes wird nur durch einige wenige Kritikpunkte getrübt. So kommt die Vorstellung von Exceptions zu spät im Buch; sie wirkt an dieser Stelle unmotiviert und die Erklärung ist darüber hinaus unvollständig. Gerade für Lernende ist es gut, sich frühzeitig auf gewisse Codingstandards einzustellen, daher hätte der Autor wenigstens die gebräuchliche Auszeichnung von Membervariablen durch spezielle Namenspräfixe vornehmen können. Auf der beigelegten CD ist zwar der komplette Quellcode aller Übungen und Beispiele aus dem Buch vorhanden, warum aber anstelle der (in ihrer Nützlichkeit fraglichen) Sharewaresammlung nicht wenigstens ein C++ Compiler, wie zum Beispiel die freie GNU C++ Entwicklungsumgebung von Cygwin mit auf die CD aufgenommen wurde, bleibt das Geheimnis des Verlages.

»C++ Programmierung« von André Willms ist ideal für Lernende, wie Schüler und Studenten. Der Autor verweist ausdrücklich darauf, dass die meisten vorgestellten komplexen Datentypen und Algorithmen bereits in der Standard Template Library (STL) enthalten sind, ohne jedoch die STL konkret zu erklären. Für den typischen Anwendungsentwickler, der grundlegende Algorithmen nicht zum tausendsten Male nachprogrammieren, sondern Bestehendes wiederverwenden will, dürfte dieses Werk daher nicht die geeignetste Lektüre sein.

André Willms: C++ Programmierung. Programmiersprache, Programmiertechnik, Datenorganisation, 2. Auflage, ADDISON-WESLEY, München 2001, ISBN 3-8273-1627-8