Buch Review: Weniger schlecht programmieren [O´Reilly Verlag]

weniger schlecht programmieren
Irgendwann im Leben steht jeder Programmierer vor der Standardsituation: Alle Bücher mit „Einführung in (Name ensprechender Programmiersprache bitte hier einsetzen)“ sind vollständig ausgelesen. Das Anfängerstadium ist verlassen, aber was macht eigentlich einen guten Programmierer aus? Oft gibt es da niemanden, den man fragen könnte. Entweder man hat als Freelancer keine Kollegen, die man fragen könnte, oder diese sind z.B. Grafikdesigner. Dazu kommt, dass Lernen außerhalb von Bildungseinrichtungen wie der Uni in der Regel alleine, d.h. auf eigene Faust erfolgt. Ich habe keine konkreten Bildungsziele, sehe im Alltag dann aber doch die Limitierungen meiner Fertigkeiten. Für konkrete Detailfragen gibt es stackoverflow. Oder man lernt Paradigma wie OOP oder eine neue Programmiersprache.

Oft fallen die Probleme im Alltag aber durch die beiden Ansätze hindurch – es ist weder Mikro noch Makro, sondern irgendwas dazwischen, quasi die Metaebene des Lernens. Heruntergebrochen auf den Satz: Wie kann ich mir selbst Techniken aneignen, um effektiver Probleme lösen zu können?

„Weniger schlecht programmieren“ von Kathrin Passig & Johannes Jander im O´Reilly Verlag beantwortet genau diese Fragen. Restlos! Alle!

Jenseits des Größenwahns weiß eigentlich jeder Programmierer: was man da tut, ist nur begrenzt sinnvoll und in spätestens einem Jahr hoffnungslos veraltet.

Im Buch wird das Beispiel Datumberechnung genannt (S.266). Dass selbst Pros hier nicht vor Fallstricken gefeit sind, zeigte jüngst das Beispiel der Zend Framework Date Komponente, die nicht eingeplant hatte, dass ein Jahr auch 54 statt 53 Kalenderwochen haben könnte. Was sich unspektakulär anhört hatte in der Praxis die unschöne Auswirkung, dass etwa Shopware 4.0.x Logins in entsprechendem Zeitraum komplett verunmöglicht wurden. Conclusion: Datumsberechnungen sind hinterhältig und von der Wahnvorstellung, dass selbst langjährige Programmierer keine Fehler machen würden, sollte man sich besser verabschieden.

Der Buchtitel sorgte für einige Aufmerksamkeit im Büro und schafft es auf Anhieb in die Top 10 meiner Liste obskurer Buchtitel (ungeschlagen an Platz 1 steht dort allerdings immer noch „Networking for people who hate networking“).
Inhaltlich findet sich wie in einem Werkzeugkasten (tolle Metapher in dem Fall) so einiges im Buch und ich wähle wahllos ein paar Items: Umgang mit IDEs, Subversion und Versionsverwaltungen, richtig Debuggen, Arbeiten im Team, Kommentare setzen, Refactoring. Je nach Wissen und Hintergrund dürfte das eine oder andere interessant oder weniger interessant sein.

Generell oder generalisierend noch die Frage, wozu Bücher über Programmieren überhaupt nützlich sein könnten. Ob ausgedruckte Man-Pages in Zeiten ständig verfügbaren Internets noch Sinn machen, sei dahingestellt. Ebenso sind für neue Frameworks oder Sprachen oft Tutorials aktueller und Bücher immens schnell veraltet. Dagegen ist der Ansatz, in Prosaform die Grundlagen anzugehen, eher zielführend (in Ökonomie-Sprache übersetzt: hier bin ich auch bereit meine Taler auszugeben und stelle ich mir auch gern ein Buch, und nicht nur das Altpapier von nächstem Monat, ins Regal).

Und wenn dies in unterhaltsamer Sprache passiert, wirkt sich das positiv auf die Lernmotivation aus. Dem vorliegenden Buch kommt der Schreibstil von Kathrin Passig definitiv zugute. Fachliche Inhalte werden eloquent vermittelt, ohne Ankumpelung aber dafür mit einem eher subtilen und nerdkompatiblen Humor.

Das Buch ist gut. Außerdem ist ein Esel auf dem Cover (quasi ein Bonmot und hier als Bild- statt als Wortwitz in Kombination mit dem Titel, analog zu einer mittelalterlichen Allegorie). Fazit dieses Reviews: Sollte man durchaus kaufen.

Hier zur Seite des Buchs beim Verlags inkl. Probekapitel als PDF.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.