Buchbesprechung: C++ for Lazy Programmers

Dem professionellen Sprachwerkzeug C++ hängt der Ruf an, kompliziert zu sein. Beim Erlernen und der Arbeit mit C++ muss der Spaß dennoch nicht zu kurz kommen.

Lesezeit: 2 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 36 Beiträge

(Bild: Yoko Nishimiya / shutterstock.com)

Von

Will Briggs
C++ for Lazy Programmers

apress/Springer, 1. Auflage 2019
644 Seiten, € 35,30 (Softcover)
ISBN: 978-1-4842-5186-7

Die vor allem auf effiziente und maschinennahe Programmierung ausgelegte Sprache C++ gilt nicht nur angesichts Ihrer Komplexität als ungeeignet für wenig versierte oder gar arbeitsscheue Entwickler. Will Briggs, der an der Universität Virginia nicht nur C++, sondern auch andere Sprachen wie Python unterrichtet, unternimmt mit seinem Lehrbuch unter dem provokanten Titel "C++ for Lazy Programmers" den Versuch, eine neue Sichtweise auf die etablierte Sprache zu öffnen.

C++ for Lazy Programmers

(Bild: APress)

Schon in der Einleitung geht Briggs auf ein "Ärgernis" ein, das C++ für viele ein- oder umsteigende Entwickler wenig attraktiv erscheinen lässt: Die Beispiele in der Sprache präsentieren sich üblicherweise nahezu ausschließlich auf der Konsole. Das bei apress erschienene Buch geht daher einen anderen Weg. In den ersten Kapiteln führt Briggs zunächst eine als SSDL bezeichnete Bibliothek ein, die auf der gewöhnlichen SDL (Simple DirectMedia Layer) basiert. Sie dient als Basis, um nachfolgend sowohl mit Visual Studio als auch mit g++ grafische Programme und kleine Spielchen zu erzeugen.

Auf das unvermeidliche Hello-World-Programm folgen weitere Beispiele zur Ausgabe von Sounds und dem Anzeigen von Bildern. Für Quereinsteiger findet sich außerdem eine – wenn auch extrem kurze – Einführung zum Zusammenstellen von Grafiken unter Verwendung von GIMP.

Ab dem dritten Kapitel widmet sich Briggs der grundlegenden Einführung in die Syntax von C++. Dabei demonstriert er arithmetische Operatoren beispielsweise anhand der Simulation einer Person, die in Wasser eintaucht – eine sehr anschauliche und innovative Vorgehensweise, die man in anderen Lehrbüchern so nicht findet. Weitere Syntaxelemente wie Schleifen und Selektionen demonstriert der Autor auf ebenso nachvollziehbare Weise am Beispiel von Maus- und Tastatureingaben.

Im Kapitel zur Fehlersuche in C++-Programmen lernen die Leser eine Reihe verschiedener Debugger kennen. Erfreulicherweise beschränkt sich Briggs nicht allein auf Visual Studio, sondern erklärt auch die Arbeit mit dem unter Linux weit verbreiteten GDB und einem grafischen Frontend.

Während die meisten Lehrbücher spätestens an dieser Stelle damit beginnen, den angehenden Entwickler mehr oder weniger intensiv mit Klassen und objektorientierter Programmierung zu bombardieren, entscheidet sich Briggs für einen anderen Ansatz. Er geht zunächst noch auf Streams und andere Besonderheiten ein, um später am Beginn des 15. Kapitels zu resümieren, dass man sich bisher ja "eigentlich nur mit C" auseinandergesetzt habe. Diese provokant erscheinende Vorgehensweise bewahrt den Leser aber davor, sich allzu früh in den Tiefen von Embedded C++ zu verlieren, ohne die Basissprache ausreichend kennengelernt zu haben. Die eigentliche Besprechung der objektorientierten Programmierung kommt dennoch nicht zu kurz, auch wenn der Autor darauf verzichtet, die dahinterliegende Theorie im Detail zu diskutieren.

In den abschließenden Kapiteln stellt Briggs unter anderem noch die Arbeit mit der Standard Template Library und den in ihnen enthaltenen Datenstrukturen vor und beweist insbesondere bei den Erklärungen zur Rekursion und zur O-Notation viel Liebe zum Detail. Warum jedoch die unter Windows so wichtigen Smart Pointer ausgerechnet bei den Design Patterns und Antipatterns unterkommen, erschließt sich dem Rezensenten nicht. Im Anhang findet sich dann noch die übliche ASCII-Tabelle sowie einige Zusammenfassungen zu Bibliotheken und zur SDL.

C++ for Lazy Programmers ist-allein schon wegen der Auswahl der Beispiele kein klassisches C++-Lehrbuch. Wer bisher mit C oder einer anderen Programmiersprache wie Java oder Python gearbeitet hat, findet auf den über 600 Seiten eine detaillierte Einführung in C++. Die von Briggs gewählte didaktische Vorgehensweise trägt ihren Teil dazu bei, dass C++-Interessierte mit dem Buch viel Freude haben werden – zumal die englischen Texte auch für Nicht-Muttersprachler leicht verständlich sind.

Tam Hanna
befasst sich seit dem Jahr 2004 mit Handcomputern und Elektronik. Derzeit liegt sein Fokus auf interdisziplinären Anwendungen von Informationstechnologie. (map)