Skip to content

Buch: Weniger schlecht programmieren

Titel

Weniger schlecht programmieren

Autor

Kathrin Passig und Johannes Jander

Sprache

Deutsch

Genre

Sachbuch

Herausgeber

O'Reilly, 2013

Seitenanzahl

456 Seiten

Man sollte sich seine Ziele nie zu hoch stecken. Dann lieber die Messlatte etwas niedriger hängen und die vorhandenen Hürden nach und nach nehmen. Das haben sich auch die Autoren des Buches „Weniger schlecht programmieren“ gedacht. Anstatt gleich ein guter Programmierer zu werden, fängt man hier lieber klein an.

Zielgruppe

Auch wenn der Titel „Weniger schlecht programmieren“ witzig klingt und auch sofort das Interesse weckt, steckt dahinter eine einfache Botschaft. Das Buch richtet sich vor allem, aber nicht nur, an Programmiereinsteiger und Hobby-Programmierer, die zwar vielleicht schon seit Ewigkeiten programmieren, aber nicht wirklich verstehen, was sie tun. Der Copy&Paste-Code aus dem Internet zusammengeklaubt, funktioniert zwar irgendwie und durch Versuch und Irrtum konnte der Code auch angepasst werden, aber so richtig hat man keine Ahnung, was man tut. Genau für diese Personen ist das Buch geschrieben.

Hintergrund hiervon sind die vier Stufen der Kompetenzentwicklung. Diese bauen sich auf von der unbewussten Inkompetenz, bei der eine Person nicht weiß, was sie nicht weiß (die bekannten „unknown unknowns“ von Donald Rumsfeld), hin zur bewussten Inkompetenz, bei der die Person immerhin weiß, was sie nicht weiß, über die bewusste Kompetenz, bei der die Person weiß, was sie weiß und es auch anwenden kann, bis man schlussendlich bei der unbewussten Kompetenz ankommt, bei der die Anwendung des eigenen Wissens ganz unbewusst geschieht und wie von Zauberhand geht.

Die Autoren Kathrin Passig und Johannes Jander haben sich ihr eigenes Ziel ebenfalls niedrig gesteckt und wollen die Leser nur von Stufe 1 auf Stufe 2 heben, wobei manchmal vielleicht sogar die Stufe 3 erreicht wird.

Inhalt

Das Inhaltsverzeichnis kann man auf der O'Reilly-Webseite nachlesen, weswegen es hier nicht wiederholt wird. Einige Kapitel und Inhalte verdienen aber besondere Beachtung.

Passig und Jander gehen auf sehr viele bekannte Konzepte und Regeln ein, die man als weniger schlechter Programmierer kennen sollte. Das geht vom Kiss-Prinzip („Keep it simple stupid“) über das YAGNI-Prinzip („You Ain’t Gonna Need It“) bis zum Pareto-Prinzip, was einigen auch als 80/20-Regel bekannt ist, d.h. dass die letzten 20% einer Aufgabe 80% der Gesamtzeit einnehmen.

Weniger bekannt, aber ebenso wichtig ist Eagleson's Law. Dies sagt aus, dass jeder selbstgeschriebene Code, den man mehr als sechs Monate nicht betrachtet hat, genauso aussieht, als hätte ihn jemand anderes geschrieben. Wer selbst schon mehrere Jahre programmiert, weiß sofort, was das bedeutet. Das ist auch der Grund, wieso die Autoren in ihren ersten drei Kapiteln so intensiv auf vernünftige Namensgebung und Kommentare eingehen. Etwas, was ziemlich oft missachtet wird – dabei ziemlich oft unbewusst.

Wer in dem Buch viele Codebeispiele sucht, wird vergebens suchen. Bereits in der Einleitung weisen die Autoren darauf hin, dass das Buch kein Kodierhandbuch ist. Ob man die Klammern nun ans Ende der Zeile oder zu Beginn der nächsten Zeile setzt (C++-Programmierer wissen, was gemeint ist) oder wie viele Leerzeichen der Code eingerückt werden soll, ist egal (Python-Programmierer dürfen jetzt widersprechen). Wichtig ist, dass es einheitlich und klar verständlich ist, was man macht.

Neben dem Text – und es ist wirklich viel Text, den die 456 Seiten enthalten – gibt es auch immer wieder kleine Anekdoten von Kathrin Passig und Johannes Jander und deren Programmierer-Freunde aus dem Alltag. Vor allem die Geschichten, bei denen etwas schief ging, regen zum Denken an, ob man selbst vielleicht einmal diesen Fehler gemacht hat – und es womöglich gar nicht bemerkte.

Beispielsweise ist die Van-Halen-Anekdote sehr interessant, dass diese bei ihren Bandauftritten keine braunen M&Ms im Backstagebereich bei der Verpflegung haben wollten. Diese vertraglich festgehaltene Regel diente allein dem Zweck zu prüfen, ob die Veranstalter der Musikveranstaltung den Vertrag wirklich gelesen und vor allem bis in kleinste Detail eingehalten hatten. Wenn es braune M&Ms gab, war die Wahrscheinlichkeit hoch, dass auch beim Bühnenaufbau irgendwas (Sicherheitsrelevantes) nicht passte.

Sehr interessant sind die Kapitel „Hilfe suchen“ und „Lizenz zum Helfen“. Das erste beschäftigt sich mit dem Thema, wie man richtig fragt, wenn man ein Problem hat. Das Thema ist deshalb interessant, weil es nicht nur für Programmierer relevant ist, sondern für jeden, der ein Problem hat. Viel zu oft schreibt man als Fehlerbeschreibung „Geht nicht!“ und ärgert sich dann darüber, dass einem keiner helfen will. Umgekehrt geht das zweite Kapitel darauf ein, wie man sich als Helfer zu verhalten hat, wenn man nicht gleich als arrogantes Arschloch herüberkommen will, das nur „RTFM“ durch die Gegend blökt.

Weitere interessante Kapitel sind die zum Unit-Testing und Refactoring. Auch auf Datenbanken und deren spezielle Probleme beim Programmieren und Benutzen wird eingegangen, sodass sich nicht nur Nutzer „klassischer“ Programmiersprachen durch das Buch angesprochen fühlen sollten.

Fazit

Schriftstellerin Kathrin Passig ist keine Unbekannte für die, die sich in der digitalen Welt heimisch fühlen. Dementsprechend ist es klar, dass sie weiß, wie man Inhalte vermitteln kann. Auch wenn sie selbst etwas programmiert, ist Johannes Jander der Software-Entwickler, der die Fehler gemacht hat, die man als schlechter Programmierer so machen kann. Zusammen ergibt sich ein wirklich gutes Team, dass zwischen interessanten, unterhaltsamen und lehrreichen Absätzen wechselt.

Sehr gut ist auch, dass das Buch von zwei deutschsprachigen Autoren geschrieben wurde, die auf einige Eigenheiten bei der Programmierung in deutscher Sprache eingehen. Sei es die Wahl der Sprache in den Kommentaren oder der Hinweis auf Unicode – etwas, womit sich viele englischsprachige Entwickler nicht herumschlagen (müssen), es aber vielleicht manchmal doch besser tun sollten (wenn ich an der Stelle auf „Gone Home“ verweisen darf).

Wichtig ist, was auch die Autoren im Buch erwähnen, dass viele Hinweise und Tipps nicht in der ganzen Fachwelt so gesehen werden. Es gibt viele Diskussionen (vor allem bei Namenskonventionen, was z.B. die Länge oder Aussehen von Methodennamen angeht) unter Programmieren und jeder hat da wohl seine eigene Meinung und Stil. Als Leser sollte man also immer im Hinterkopf haben, dass es nicht die eine Wahrheit gibt, wenn es ums Programmieren geht.

Etwas überbetont kamen mir die Hinweise auf Versionskontrollsysteme vor. In fast jedem Kapitel betonen die Autoren, dass ein Versionskontrollsystem nahezu unumgänglich ist. Sicherlich ist es hilfreich und ich selbst möchte es nicht missen, aber oft ist die Einrichtung vor allem für Programmieranfänger auf der Kompetenzstufe 1 so komplex, dass dies übertrieben wirkt.

Insgesamt ist „Weniger schlecht programmieren“ ein sehr unterhaltsames Buch, auch wenn man selbst schon mehrere Jahre im Geschäft ist. Vor allem, wenn man sich für einen guten Programmierer hält, sollte man einmal einen Blick hinein werfen. Man kann immer noch etwas lernen. :) Zum Ende flaut das Buch etwas ab, da sehr viele Themen aufgenommen werden, die sicherlich wichtig sind, aber nicht ganze Kapitel einnehmen könnte. Das wirkt dann teilweise etwas zusammengeschustert – so wie einige Misc-Klassen auf der Arbeit. Auf der anderen Seite kann man die für einen uninteressanten bzw. nicht passenden Passagen so schneller überblättern.

Am besten haben mir die zwei Kapitel zur Hilfesuche und Hilfestellung gefallen, da dies etwas ist, was man abseits der Programmierung auch in den Alltag mitnehmen kann - auch wenn es dabei natürlich oft um technische oder zumindest Technik-verwandte Themen geht.

Trackbacks

Dirks Logbuch am : Linkdump 02/2014 ...

Vorschau anzeigen
Willkommen zum Linkdump Nummer zwei in diesem Jahr. Jetzt habe ich alle Altlasten aufgearbeitet. Konsistenz lässt sich auf alle Bereiche, in denen Erlerntes oder Erfahrungen eine Rolle spielen. Neue Besen kehren gut, aber die alten wissen wo der Dreck ste

Kommentare

Ansicht der Kommentare: Linear | Verschachtelt

Marcel am :

danke dafür; exakt das was ich als Hobby-Programmierer gesucht habe. Hab's mir direkt bestellt

Dirk Deimeke am :

Vielen Dank für Deine Rezension, Dominik. Ich werde mir das Buch ebenfalls zulegen.

Dee am :

Über eine Rückmeldung, wie Euch das Buch gefallen hat, wenn Ihr es durch habt, würde ich mich freuen.

Dirk Deimeke am :

Das mache ich sehr gerne.

Erst stehen aber noch drei weitere Bücher auf dem Programm. Eines ist "Perl One-Liners".

Marcel am :

Das mache ich auch sehr gerne. Kann aber noch nen ganzes Weilchen dauern, da ich abends jeweils nur ein paar Seiten schaffe...

Kommentar schreiben

Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.
Formular-Optionen