Fachbuch - Computer
Rheinwerk Computing
7. November 2017
Gebundene Ausgabe
1363
Nach vielen Jahren in der Java-Entwicklung habe ich mich entschlossen mein Standard-Nachschlagewerk mal zu erneuern. So habe ich mir die 13. Auflage von „Java ist auch eine Insel“ – Einführung, Ausbildung, Praxis zugelegt. Davor hatte ich überwiegend noch mit meiner Ausgabe aus dem Jahre 2002 gearbeitet, bzw. mit der Online-Version.
Dass sich in den 15 Jahren viel verändert hat, ist klar. War damals noch von Java 2 und Version 1.4 die Rede, sind wir mit der aktuellen Version bei Java 9 angekommen. Der Grundaufbau und Nutzen des Buches hat sich zum Glück in der Zeit kaum verändert.
Beruflich war ich lange auf Java 1.4 beschränkt gewesen und habe dabei ein wenig den Anschluss an die neuen Möglichkeiten von Java verloren gehabt. Soweit einzelne Projekte auf Java 6 umgestellt wurden, versuchte ich nach und nach rein zu kommen, brauchte aber auch immer mal wieder noch den Rückblick auf die alten Versionen. Mittlerweile spielt Java 1.4 nun keine Rolle mehr und ich kann mich wieder auf moderne Java-Programmierung konzentrieren.
Warum braucht man aber dann noch ein Buch, welches man auch sehr gut online durchschauen kann? Nun einmal will man vielleicht nicht ständig zwischen Browser und Entwicklungsumgebung hin und her switchen, zum anderen kann man im Buch auch mal „offline“ noch etwas Nachschlagen oder ein Kapitel davor oder dahinter noch schnell weiter lesen. Das Argument, man kann es auch unterwegs einmal durchlesen, passt in diesem Fall nicht ganz, gleicht das Buch doch schon fast einem Backstein mit seinen rund 1360 Seiten.
Generell hat sich das Format etwas geändert. Durch zahlreiche neue Themen ist es dicker geworden, aber auch breiter. Für ein einfacheres Suchen, wurde an der Seite ein Register aufgedruckt und ein Lesebändchen hinzugefügt.
Allerdings bleibt es seinen Grundzügen von damals treu: Der Einsteiger wird an die Java-Entwicklung herangeführt und gleichzeitig bleibt es aber auch ein Nachschalgewerk und eine Referenz für den erfahrenen Programmierer.
Kapitelaufbau (Inhalte der Kapitel unvollständig):
- Java ist auch eine Sprache
Hier finden sich die Grundlagen rund um Java, die Versionen und Entwicklungsumgebungen - Imperative Sprachkonzepte
Eine Klasse – Datentypen, Variablen – Ausdrücke, Operanden, Operatoren – Anweisungen und Schleifen – Methoden - Klassen und Objekte
OOP – Objekte erzeugen – Packages und Import – Referenzen – Arrays - Der Umgang mit Zeichenketten
ASCII / Unicode – Character-Klasse – String-Klasse – StringBuilder/StringBuffer – Konvertieren zwischen Primitiven und Strings – Ausgabeformatierung - Eigene Klasse Schreiben
Deklaration und this – Sichtbarkeiten – statische Methoden/Attribute – Objekte anlegen/zerstören – Initialisierung - Objektorientierte Beziehungsfragen
Assoziationen zwischen Objekten – Vererbung – Methoden überschreiben – Schnittstellen - Ausnahmen müssen sein
Exceptions und ihr Handling - Äußere-innere Typen
Lokale Klassen – anonyme innere Klassen - Besondere Typen der Java SE
a. Wrapper-Klassen und Autoboxing – Iterator, Iterable – Enum – Annatationen in der Java SE - Generics<T>
- Lamda-Ausdrücke und funktionale Programmierung
- Architektur, Design und angewandte Objektorientierung
erste DesignPattern - Komponenten, JavaBeans und Module
JavaBeans – JavaFX – Klassenlader – Module entwickeln - Klassenbibliothek
Utility-Klassen und Properties – Date-Time-Api – kurze Einführung in Maven - Einführung in die nebenläufige Programmierung
Threads - Einführung in Datenstrukturen und Algorithmen
Listen – Mengen (Sets) – Assoziative Speicher – Immutable Datenstrukturen – Stream-API - Einführung in grafische Oberflächen
GUI-Frameworks – Swing – AWT – Schaltflächen – Textkomponenten – grundlegendes zum Zeichnen - Einführung in Dateien und Dateiströme
Basisklassen Ein- und Ausgabe – Dateien lesen und schreiben - Einführung ins Datenbankmanagment mit JDBC
- Einführung in <XML>
- Bits und Bytes, Mathematisches und Geld
- Testen mit JUnit
- Die Werkzeuge des JDK
Alleine anhand der Vielzahl der Kapitel, die hier untergebracht sind, werden bestimmte Blöcke etwas kurzgehalten. Allerdings reicht es für einen Einstieg und damit man danach weiß, wonach man eventuell weiter im Netz suchen kann. Auch wird hier nur die direkt in der Java SE9 vorhandenen Komponenten besprochen. Alternativen z.B. aus dem Hause Apache oder ähnlichem kommen nicht vor, was für den Einsteiger auch mögliche Verwirrungen verhindert.
Immer wieder findet man graue Kästchen mit Beispielen in Form von Code-Schnipseln oder weiterführende Tipps/Hinweise.
Zum Durcharbeiten von ganzen Kapiteln oder Teilkapiteln finde ich das Buch sehr angenehm. Wer sich unsicher ist, kann online in eine Vorgängerversion reinschnuppern. Das Buch eignet sich sehr gut für Einsteiger zum Selbststudium. So bauen die Kapitel nacheinander aufeinander auf und man wird an die Java-Welt herangeführt, indem jedes Kapitel für sich einen thematischen Block erklärt. Werden neue Begriffe eingeführt, sind diese kursiv gekennzeichnet. Über die Buch-Webseite kann eine Zip-Datei mit allen Beispielen heruntergeladen werden, was ich Einsteigern nur empfehlen kann.
Das Buch eignet sich sehr gut für Einsteiger zum Selbststudium. So bauen die Kapitel nacheinander aufeinander auf und man wird an die Java-Welt herangeführt, indem jedes Kapitel für sich einen thematischen Block erklärt. Werden neue Begriffe eingeführt, sind diese kursiv gekennzeichnet. Über die Buch-Webseite kann eine Zip-Datei mit allen Beispielen heruntergeladen werden, was ich Einsteigern nur empfehlen kann.
Aber auch ich als doch schon etwas erfahrener Programmierer nutze das Buch auch gerne als Nachschlagewerk. So finde ich die Beispiele mit Code-Schnipseln recht gut gewählt. Sicher ist es heute einfacher, an gewünschte Informationen zu kommen, als vor 15 Jahren. Dennoch muss man schon genau einschränken, was man sucht und landet zwar dann meist bei einer Lösung, aber der Zusammenhang, warum es so gemacht wird und die Informationen drum herum sind für ein besseres Verständnis meist auch nicht verkehrt. Außerdem bringen viele Lösungen dann meist auch andere Packages mit ins Spiel und es fehlen die Hintergrundinformationen. Am Ende landet man vielleicht doch bei externen Libraries, versteht aber eher, warum und macht nicht nur etwas, weil es halt gerade als Lösungsvorschlag angeboten wurde. Für meinen Teil arbeite ich vor allem die Kapitel durch, bei der sich die Sprache in der letzten Zeit stärker verändert hat.
Aber ich hätte auch einen Wunsch für die nächste Auflage, falls etwas Platz übrig sein sollte, ein kurzes Kapitel über JSON, welches nach dem XML-Block eingefügt werden könnte.
Fazit:
Man braucht nicht jede Version der „Insel“. Je nach Anwendungsgebiet macht eine neue Version aber durchaus Sinn. Wer am Einstieg in Java steht und sich von dem wuchtigem Buch nicht abschrecken lässt, bekommt einen breiten Einstieg in die Welt von Java StandardEdition 9 geboten.