Mit diesem Artikel werde ich eine neue Serie über Bücher zum Thema Software Entwicklung starten. In dieser Serie werde ich meine jeweils aktuelle Lektüre vorstellen und so eine möglichst nützliche Auswahl an guten Büchern bieten. Als Referenz/Anregung für neuen Lesestoff nutze ich momentan folgende Seiten:

Kommen wir zu den Büchern:

Code Complete – A Practical Handbook of Software Construction

Mit diesem Buch verschafft man sich meiner Meinung nach den besten Überblick über alle Gebiete der Software Entwicklung. Angefangen von Code Style,  über Design Patterns bis hin zu Architekturentscheidungen. Ein absolutes Must Read.

Head First Design Patterns

Eine schöne moderne Übersicht über die wichtigsten Design Patterns und wann und wo man sie anwendet (und wann und wo nicht). Gegenüber Design Patterns: Elements of Reusable Object-Oriented Software hat es den Vorteil einen aktuelleren Stand widerzuspiegeln und bietet mit Beispielen in Java leicht verständliche Anwendungsfälle für alle Design Patterns.  Wenn man nur eins der beiden Büchern lesen kann, würde ich dieses bevorzugen.

Design Patterns: Elements of Reusable Object-Oriented Software

Der Klassiker der Welt der Design Patterns und ihrer übersichtlichen Einordnung. Aufgrund des Alters enthält es einige Design Patterns, welche häufig nur in sehr speziellen Fällen verwendet werden sollen und teilweise fehlt mir die kritische Einsicht, welche Head First Design Patterns enthält. Das beste Beispiel ist das Singleton-Pattern. Nur all zu leicht führt man mit diesem Pattern Globale Variablen über eine Objekt-Orientierte Hintertür wieder ein. Ansonsten ist es jedoch wunderbar zu lesen, wenn auch Beispiele in Smalltalk sicher nicht jeden ansprechen werden, aber dafür gibt es auch noch Beispiele in C++.

Software Systems Architecture – Working With Stakeholders Using Viewpoints and Perspectives

Ein Buch weniger über Software Entwicklung als viel mehr über den Schritt davor: Die grundlegende Software Architektur. Es gibt einen guten Einblick über die verschiedenen Elemente (Interessengruppen, Software, Hardware, Sicherheit, Budget…), welche man beim Entwurf einer Architektur beachten muss. Der Großteil des Buches beschäftigt sich allerdings mit Werkzeugen der Software Architektur und ist entsprechend eher trocken. Ich würde es demjenigen empfehlen, der plant früher oder später auch in diesem Bereich aktiv zu werden. Entwickler können mal reinschauen um zu verstehen, womit sich der Architekt im Team überhaupt beschäftigt und wie man ihn bei seiner Arbeit und letztendlich sich selbst helfen kann, aber auch nur wenn man sonst nichts zu lesen hat.

Dive Into Python 3

Ein Buch, dass sich mit den Neuerungen von Python 3 beschäftigt und vor allem auch die Unterschiede zu Python 2 hervorhebt. Ich würde es nicht als erste Lektüre für einen Python Einsteiger empfehlen, wer jedoch bereits über dem “Hello World” Stadium hinaus ist und/oder Erfahrungen in anderen Sprachen hat, wird hier einen guten und tiefen Einblick in die Fähigkeiten von Python 3 erhalten. Mit diesem Buch wird  auch die Portierungen von Applikationen auf Basis von Python 2 zu Python 3 leicht verständlich erklärt.

The Book of Qt 4: The Art of Building Qt Applications

Ein schönes Buch in deutsch und englisch, dass einen wunderbaren Einblick in das Qt Framework in Version 4 gibt. Ich bin mir nicht sicher in wie weit es noch für Version 5 nützlich ist, aber zumindest damals war es ein fantastischer Lesestoff. So ziemlich alle Aspekte des Frameworks werden ausführlich besprochen und mit echten Beispielen erklärt.

Advertisements