Der Name trügt. Dies ist kein Buch für den erfahrenen Javaprogrammierer, der jetzt die höheren Weihen erlangen will. ,,Dieses Buch wendet sich an Programmierer und Studenten, die bereits Erfahrung mit höheren Programmiersprachen wie Pascal, C oder C++ haben und eine fundierte Einführung in Java und objektorientierte Programmierung suchen`` (Klappentext).
So ein Buch wünschte ich mir auch, um Java zu lernen, denn ich will nicht
nochmals langatmig erklärt bekommen, was eine Variable ist, wie eine
if-Anweisung funktioniert und was man noch so in anderen Büchern
findet. So gibt es nur eine kompakte Einführung in die Sprachelemente von Java, die
für mich aber auch ruhig noch knapper hätte sein können.
Unschönerweise stimmt der Autor am Anfang auch in die ,,Java über
alles``-Lobeshymnen ein. Einige der dortigen Aussagen fand ich zweifelhaft,
andere unnötig, da ich mit Lesen des Buches ja schon Java lernen will
und nicht mehr dazu überzeugt zu werden brauche. In dem Buch finden
sich die üblichen kleinen Fehler und Inkonsistenzen in den Diagrammen,
die aber nicht über das Übliche hinausgehen. Leider wird die Webpage
mit Berichtigungen und Ergänzungen zu dem Buch kaum gepflegt. Sehr
schön ist die Erklärung, daß sich Vererbung in Implementations- und
Schnittstellenvererbung aufteilt. So wird auch das Konzept der Interfaces
in Java gut und klar eingeführt.
Der Autor macht in einem Kapitel
auch den Versuch, etwas zu objektorientiertem Entwurf zu erklären und
gibt sehr gute Hinweise auf das Buch zu Entwurfsmustern von Gamma et al.,
wobei mir ein Hinweis auf das Standardwerk von Bertrand Meyer fehlte.
Natürlich ist ein Kapitel für dieses Thema zu wenig, aber wäre
in einem solchen Buch auch nicht angebracht. Schön hätte ich es
noch gefunden, wenn in dem Buch mehr auf Exceptions eingegangen wird. Hier
reicht es eben absolut nicht aus, zu verstehen, wie sie funktionieren,
man muß auch lernen, wann und wie man sie gut einsetzt. Übungen am
Ende der Kapitel wären auch nett. Rundum kann ich dieses Buch empfehlen.
Laut Aussage des Autors, der Mitarbeiter an unserem Fachbereich ist, ist
auch eine Neuauflage des Buches möglich. Die aktuelle Fassung ist noch
erhältlich; wenn sich die Entwicklung des JDK 1.2 weiter stabilisiert
hat, könnte es aber eine überarbeitete Version des Buches geben.
Diese Auflage fiel leider gerade in die Lücke zwischen JDK 1.0 und
1.1, so daß die Konzepte von 1.1 häufig nur als Kommentare im Buch
landeten und wenig wirklich eingearbeitet sind. Dies wiegt allerdings
nicht so schwer, da es an den eigentlichen Sprachkonzepten von Java nur
eine Änderung in der Einführung von ,,inner Classes`` gab. Die
meisten Änderungen gab es in den Bibliotheken und hier gibt das Buch
in vielen Dingen nur eine Übersicht. Für die weiter benötigten
Informationen wird konsequenterweise auf Bücher über die Javabibliotheken
verwiesen.
Marko Schulz
N. HENDRICH
Java für Fortgeschrittene
596 Seiten, DM 78.- (Springer)
ISBN 3-540-61531-8