Aus Linux-Magazin 08/2018

Bücher über das Programmieren und über das Entwerfen von Softwarestrukturen

Ein Buch für den praktischen Einstieg ins Programmieren, in diesem Fall mit Java, und eins, das die Theorie der Software-Architektur diskutieren will.

Das Java-Lehrbuch der beiden Autoren Dirk Louis und Peter Müller ist durchweg gut lesbar. Die Sprache ist klar, größtenteils nüchtern und leicht verständlich. Wichtige Aussagen werden in speziellen Textkästen wiederholt. Auf spätere Erläuterungen oder Anhänge verweist der Text vorausschauend. Jedes Kapitel mündet zudem in einer Zusammenfassung und enthält sowohl Kontrollfragen als auch Programmierübungen.

Meist wählen die Autoren eine indirekte Anrede über ein den Leser einbeziehendes “wir”, hin und wieder sprechen sie den Leser allerdings auch direkt an: “Gemeinheit, höre ich Sie aufbegehren …”. Sätze, die für den Geschmack des Rezensenten ähnlich befremdlich klingen wie die Versuche, komisch zu sein.

Ein wirklich witziges Buch zu einem Sachthema zu schreiben, ist eine so enorm schwierige Aufgabe, dass man sich an ihr leicht überhebt. Das Resultat sind dann Krabbelgruppenwitze wie dieser: “Vererbung? Kommen jetzt nach den genmanipulierten Tomaten die genmanipulierten Programmierer? Keine Sorge, im Vergleich zu manchen Genetikern sind wir noch ganz harmlos.” Ein guter Sachbuchautor ist eben nicht automatisch auch ein passabler Gagschreiber.

Die Vermittlung der Grundkenntnisse folgt dem bewährten Schema, erst Datentypen und Variablen einzuführen, dann Operatoren, dann Klassen und Methoden. Die Beispiele – etwa Klassen für Mitarbeiter oder Fahrzeuge oder geometrische Figuren – sind nicht übermäßig originell, erfüllen aber ihren Zweck.

Klassen stellt das Werk zunächst auch nur unter dem Aspekt der Datenkapselung vor, das heißt zum Beispiel ohne Vererbung, ohne Polymorphie, ohne auf Probleme der Sichtbarkeit von Variablen und Methoden einzugehen oder Schnittstellen vorzustellen. Das alles behandelt ein späteres Kapitel detailliert.

Es folgen Kapitel zur Ein- und Ausgabe mit Hilfe von Streams oder zu den Grundlagen der GUI-Programmierung mit AWT und Swing inklusive 2-D-Grafik, Bildern und der Behandlung von Texten. Auf das modernere Java FX geht die Autoren nicht ein. Alles in allem eine empfehlenswerte Einführung in die Sprache Java.

Wenig Praxis

Was das zweite Buch als “Grundlagen” im ersten Kapitel anbietet, ist eher eine lose Sammlung von Gedanken zu Begriff und Aufgabe von Software-Architektur sowie der Schwierigkeiten, die sich dabei auftun. Auch das zweite Kapitel, das Prinzipien modularer Architekturen vorstellen will, ist stellenweise von Unentschlossenheit geprägt.

So empfiehlt es im ersten Satz alle vorgestellten Prinzipien als unbedingte Handlungsmaximen, diskutiert aber auf der übernächsten Seite hauptsächlich, wann man das DRY-Prinzip (Don’t repeat youself) doch verletzen sollte. Daneben kommen unter anderem das KISS-Prinzip (Keep it simple and stupid) sowie das Information Hiding Principle und das Open-Closed-Prinzip vor. Das alles ist aber wenig anschaulich abgehandelt.

Das gilt auch für das nächste Kapitel, das sich wieder Prinzipien zuwendet, diesmal aber speziell solchen, die im Bereich der Mikro-Architektur gelten. Dabei zeigt der Autor etliche bekannte Design Pattern, die einige der bereits vorgestellten Prinzipien umsetzen, etwa Adapter, Facade oder Observer.

Die Beispiele sind so abstrakt wie die Erläuterungen: “Nehmen wir mal an, dass an vielen Stellen in Ihrem Code eine bestimmte Klasseninstanz benötigt wird, und das abhängig von einem gewissen Kriterium.” Das klingt farblos und wenig griffig. Dazu kommen zahlreiche Anglizismen, Abkürzungen und Fachtermini sowie das Schwelgen in Passivkonstruktionen und Nominalstil, was der Lesbarkeit ebenfalls nicht zuträglich ist.

Später geht es noch einmal um Pattern, diesmal in der Makro-Architektur. Wieder tauchen Muster auf, darunter auch solche, die weiter oben bereits mit Bezug zur Mikro-Architektur vorkamen. Auch hier sind alle Beispiele konstruiert, ihnen fehlt die Überzeugungskraft eines authentischen Falls.

Ein wirkliches Lesevergnügen stellt sich auch bei den restlichen Kapiteln nicht ein. Alles bleibt sehr abstrakt und theoretisch, was teils sicherlich dem Gegenstand geschuldet und schwer vermeidbar ist. Wer sich mit der reinen Lehre der Software-Architektur auseinandersetzen will, findet hier sicherlich Material – wer sich etwas Praktisch-Handfestes erhofft, wird enttäuscht.

Info 1

Dirk Louis, Peter Müller:

Java

Hanser, 2. Auflage, 2018

370 Seiten

20 Euro

ISBN 978-3-446-45194-0

Info 2

Herbert Dowalil:

Grundlagen des modularen Softwareentwurfs

Hanser, 2018

200 Seiten

35 Euro

ISBN 978-3-446-45509-2

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 1 HeftseitePreis €0,99
(inkl. 19% MwSt.)
LINUX-MAGAZIN KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Readly Logo
E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben