Weniger schlecht programmieren

Literatur  –  6 Kommentare

Kathrin Passig, Johannes Jander
Weniger schlecht programmieren
O'Reilly, Dezember 2013
432 Seiten, 24,90 Euro / E-Buch 20,00 Euro
ISBN 978-3-89721-567-2

Ein stilechtes Lehrbuch für Programmieranfänger verbirgt sich hinter Passigs und Janders Werk nicht, denn die Anzahl der Sourcecode-Zeilen ist recht übersichtlich gehalten. Das ist aber auch nicht die Intention der beiden und sollte auch ersichtlich sein, da Kathrin Passig in der Vergangenheit eher durch nonkonforme Literatur (zum Teil auch zusammen mit Sascha Lobo) von sich reden machte. Damit aber der IT-Anspruch gewahrt bleibt, ist mit Johannes Jander ein gestandener Softwareentwickler mit an Bord.

Der Titel "Weniger schlecht programmieren" beschreibt das Thema gut: Es geht nicht darum, aus einem Anfänger in 30 Tagen einen Crack in C++, Objective-C, Java oder Ruby zu machen, sondern das Anfängerniveau ein wenig zu heben. Die entsprechenden Werke zu den Sprach-Hardskills finden sich zuhauf (in Buchform oder auch im Netz in guter Qualität). Was aber meist auf der Strecke bleibt, ist das Oberthema Kommunikation, das Programmierstile, die Namensgebung von Variablen und gute Kommentare meint. Zudem verlieren sich Anfänger, die eventuell keine IT-Ausbildung absolviert haben, schnell in den Tiefen einer Programmiersprache und finden selten den Blick über die Buchseiten heraus, um Programmierparadigmen gegeneinander abzugrenzen oder Angriffsszenarien wie SQL Injections, XSS oder HTTP-Authentifizierung und das Thema Sicherheit allgemein beurteilen und einschätzen zu können.

Auch wenn im Laufe des Buches viele Themen nur angeschnitten werden und nicht in die (für eine ernsthafte programmatische Umsetzung benötigte) Tiefe gehen, ist die Anzahl der behandelten IT-Gebiete und deren Auswahl recht pragmatisch und so ausgerichtet, dass angehende Programmierer in der Lage sind, Themen zumindest einordnen zu können. Neben der IDE, vi, SVN, Refactoring und Datenbanknormalisierung finden sich Themen rund um die Webentwicklung wie GET, POST und REST. Interessant ist ebenfalls die Aussprachetabelle der gängigsten IT-Begriffe – etwa shebang (#!).

Wie das Autorengespann im Vorwort schreibt: "Nach der Lektüre werden Sie vielleicht immer noch nicht objektorientiert programmieren oder eine Entwicklungsumgebung einsetzen wollen, aber zumindest wissen Sie dann, wozu diese Werkzeuge erfunden wurden und bei welchen Aufgaben Sie sich Arbeit sparen können, wenn Sie eines Tages Ihre Meinung ändern."

Im ersten Kapitel präsentieren die Autoren 12 Multiple-Choice-Fragen, um im Selbsttest zu ergründen, ob das Buch für einen sinnvoll ist. Auch wer mehr als die Hälfte der Fragen mit der dritten Option beantwortete (und von den Autoren wieder in die Linux-Kernelentwicklung entlassen ist), sollte dem Werk dennoch Aufmerksamkeit schenken, denn vielleicht dient ja doch das eine oder andere aus dem Bereich der Softskills als Anregung und ist es wert, adaptiert zu werden.

Bei einem Programmierbuch, das recht unorthodox geschrieben ist, dem wenig Codefragmente entnehmbar sind und das auch nicht mit Design Patterns oder ähnlichem glänzt, ist die Frage nach dem "Warum?" zu stellen. Um es ganz klar zu sagen: Hätten nicht Kathrin Passig und Johannes Jander dieses Werk verfasst, es wäre von anderen geschrieben worden! Diese "Programmiereranleitung" hat eindeutig ihre Berechtigung, denn – wie die Autoren anführen – es haben 90 bis 100 Prozent der Stellenbewerber für Programmiererstellen schlechte bis keine für die Stelle nötigen Programmierkenntnis.

Abschließend erwähnen die beiden Autoren zum Thema, was denn nun gute Programmierer ausmacht, auch echte Klassiker wie Fowlers "Refactoring" oder Seibels "Coders at work". So machen die Autoren Mut, am Ball zu bleiben. Mit ihrem "Weniger schlechter programmieren" haben sie schon eine überaus hilfreiche Anleitung bereitgestellt, um den Anfang zu machen und in Zukunft wirklich weniger schlecht zu programmieren. (jul)