15 Jahre Erfahrung FreeCall 0800 tutegos

Java ist auch eine Insel / Java SE 8 Standard-Bibliothek

Aus den Begleitunterlagen von Christian Ullenbooms Java-Seminaren sind zwei Java-Bücher entstanden:

  • Der erste Band ›Java ist auch eine Insel. Einführung, Ausbildung, Praxis‹ (ISBN 978-3-8362-2873-2) gibt einen fundierten Einstieg in die Sprache und liefert einen Übersicht über die Java SE-Bibliotheken.
  • Den Fokus auf die Java SE-Standard-Bibliotheken liefert der 2. Band, ›Java SE 8 Standard-Bibliothek. Das Handbuch für Java-Entwickler‹ (ISBN 978-3-8362-2874-9) (ehemals Java 7 – Mehr als eine Insel. Das Handbuch zu den Java SE Bibliotheken). Das Buch enthält ebenfalls eine Zusammenfassung der Neuerungen aus Java 8 (bzw. Java 7).

Seit Juni 2014 ist die 11. Auflage vom 1. Band (kurz 1V11) im Handel erhältlich und die 2. Auflage vom 2 (kurz 2V2). Band. Der Weblog [RSS] informiert regelmäßig über Neuigkeiten und Buch-Updates.

Amazon Wenn Ihnen das Buch gefällt, freut sich Christian Ullenboom über eine nette Bewertung bei Amazon Band 1, Band 2. Oder werden Sie Fan auf Facebook! Oder wie wäre es als Dankeschön eine Installation von DropBox? Das schenkt ihm ein paar MiB.

Philosophie der beiden Bände

Die Insel (Band 1) richtet sich an Interessenten, die das Prinzip der imperativen (gerne auch der objektorientierten) Programmierung kennen, aber noch nicht in Java programmiert haben. Wer Java als erste Programmiersprache lernt und vorher noch nie programmiert hat, wird mit dem Buch vielleicht nicht glücklich werden. Die Insel ist kein klassisches Einführungsbuch in die Informatik und Programmierung im Allgemeinen und beschreibt nicht, was Software ist und wie ein Rechner funktioniert. Es handelt sich ebenfalls nicht um ein typisches Uni-Lehrbuch, das auf theoretische Dinge wie Turingmaschinen oder Entscheidbarkeit eingeht. Es ist für ›Industrieprogrammierer‹ geschrieben, die mit Java wirklich arbeiten wollen. (Also ist das Buch nicht nur für diejenigen, die beim Brennball in der Schule immer als Letztes gewählt wurden.) Zwar finden sich auch für Informatiker immer wieder einige theoretische Blöcke, aber sie stehen in der Insel nicht im Vordergrund. Wer das erwartet, sollte besser einen Blick auf die Java Language Specification werfen. Christian Ullenboom ist es wichtig, nicht die APIs abzuschreiben und zu übersetzen, sondern er versucht auf die Implementierung zu schauen und die Philosophie der Sprache zu vermitteln. So erfährt der Leser auch etwas über Design-Patterns, Optimierung und praktische objektorientierte Programmierung. Regelmäßig nimmt Christian Ullenboom Tipps und Tricks aus Java-FAQs, Stack Overflow und Code-Books in die Insel auf, um wirklich das abzudecken, was ein echter Entwickler im Alltag benötigt.

Der erste Band ist der ›Sprachband‹ (imperative Konzepte, OOP, Pattern, Generics) plus einen Teil Einführung in die Bibliotheken. Der 2. Band behandelt immer die Sprachneuerungen der jeweiligen Version (aktuell Java 8) aber sonst ausschließlich die Java SE-Bibliotheken. Der fortgeschrittene Entwickler muss sich den 1. Band nicht mehr kaufen, denn alles steht für ihn im 2. Band, auch die Einführung in Java 8. Den 1. Band braucht man nur als Java-Einsteiger.

Herdt und Galileo-Computing

Der Herdt-Verlag veröffentlicht auf der Basis der Insel Schulungsmaterialien mit ausgewählten Kapiteln der Insel:

Insel-Entwicklung

Ende 2001 wurde die 1. Auflage der Insel veröffentlicht. Seit dem gibt es einmal im Jahr ein Update, welches auch immer die neuen Java-Versionen beschreibt. 2011 wurde der monolithische Wälzer in zwei Bände zerlegt. Die Aufspaltung ist nötig geworden, da die Anzahl der Themen immer größer wurde und natürlich in der Zukunft weiterhin zunehmen wird. Vorher mussten wegen der Fülle immer wieder Abschnitte und ganze Kapitel entfernt werden. Die Insel ist nie als "immer-1400-Seiten-Buch" gedacht gewesen, sondern als Buch, was die Java-Landschaft sehr detailliert abbildet. Wenn man ein Buch mit 3000 Seiten fertigen könnte, wäre das natürlich eine bessere Lösung. Bei einem Band zu bleiben, und immer wieder Kapitel oder Abschnitte zu entfernen, war keine dauerhafte Lösung. Anstatt sich als fortgeschrittener Entwickler immer die alte dicke Insel mit einer Einführung in Schleifen etc. zu kaufen, bei der 600 Seiten eben bekannt sind, bekommt man nun mit dem 2. Band immer jeweils die Sprachänderungen und sehr detailliert alle Java SE-Bibliotheken.

Die aktuellen Auflagen 1V11 und 2V2 sind seit Mitte 2014 im Handel. Band 1 Auflage 10 (1V10) und auch Band 2 Auflage 1 (2V1) sind online. Allerdings sind wegen der unsicheren Rechtslage nur die Vorgängerversionen von Ende 2011 online, die auf Java 7 basieren, nicht 1V11 oder 2V2.

Auflage Band 1Auflage Band 2Geschichte
123Es gibt bisher weder Inhalte noch eine Zeitleiste für Java 9. Eine Vorschau auf die Java 9-Eigenschaften wird es wie üblich im Blog geben. Die neuen Bänder basieren komplett auf den Sprach- und Bibliotheksänderungen aus Java 8, wie etwa Lambda-Ausdrücken.
11 (1V11)2 (2V2)Java 8 wurde am 18. März 2014 freigegeben, im Juli 2014 folgten die neuen Bände. Alle Code-Beispiele basieren konsequent auf Java 7 bzw. Java 8 bei den neuen Features.
10 (1V10)1 (2V1)Ende 2011. Das erste Mal gibt es Band 1 (die Sprache) und Band 2 (die Bibliotheken). Die Bände beschreiben Java 7.
9Release 2010. Updates, Kapitelverschiebungen und bereitet auf Java 7 vor.
8Die Auflage aus Januar 2009 enthält in erster Linie Korrekturen und ein paar neue Grafiken. Weiterhin neue Abschnitte zu regulären Ausdrücken und der JAXB-API.
7Veröffentlichung im November 2007. In erster Linie Korrekturen und eine Kapitelverschiebung.
6Nach dem Sun Java 6 (JDK 6) im Dezember 2006 veröffentlicht hat, gibt es auch eine neue Version der Insel mit vielen Neuerungen wie Web-Services, JavaScript-API, Tray, Splash-Screen, RowSorter, File-Erweiterungen, Compiler API, SwingWorker, Console.
5Im September 2005 fertig gestellt. Die Beispiele wurden noch mehr auf Java 5 ausgelegt und Abschnitte erweitert und durch neue APIs umsortiert.
4Die vierte Auflage kam Ende 2004 und basierte weitestgehend auf Java 5.
3.2Die dritte Auflage wurde um neue Beispiele erweitert und fand Anfang 2004 den Weg in die Regale. Die ISBN-Nummer blieb die gleiche. Die OOP-Beispiele wurden von Socken auf Diskotheken/Kirchen umgestellt.
3Die 3. Auflage im Hardcover mit neuem Seitenformat ist Juni 2003 in den Handel gekommen.
2Im September 2002 gab es die zweite Auflage und 1.000 zusätzlich gedruckte Ausgaben einer Studentenversion waren schnell vergriffen.
1Im Dezember 2001 wurde die Insel nach dreijähriger Arbeit mit mehr als 1.300 Seiten von Galileo Computing veröffentlicht.

Wie geht's besser?

Da so ein Buch eine dynamische Sache ist, erhofft sich Christian Ullenboom (E-Mail) von seinen Lesern Vorschläge, wie man die Bücher noch besser gestalten kann:

  • Korrekturvorschläge bei Rechtschreibfehlern oder Satzfehlern geben. Wenn man einen Satz schon zweimal lesen muss ist das ein Zeichen für unklaren Stil.
  • Hinweise auf unsaubere Beschreibungen. Ein Begriff ist schwammig erklärt oder Zusammenhänge sind unklar.
  • Didaktisches Fehlkonzept aufzeigen. Etwas wird genutzt, aber später erst erklärt. Den Stoff zu sequenzieren ist eine große Herausforderung. Tausende Konzepte müssen in Reihe gelegt werden. Datenstrukturen werden schon kurz vorgestellt bei 1:n-Assoziationen, aber Schnittstellen mogeln sich da sein rein, werden aber erst später wirklich eingeführt. Es gibt noch mehr solcher Stellen. Kapitel 4 etwa bei den Zeichenketten greift auf Ausnahmen vor und IO-Klassen, das Exception-Kapitel ebenfalls auf IO. In jeder Auflage schieben sich Kapitel hin und her, um die Vorgriffe zu minimieren. Das Problem ist aber fast unlösbar, weil es immer rekursive Abhängigkeiten gibt. Erklärt man Wrapper-Klassen zuerst, referenziert das Comparable, erklärt man Comparable/Comparator braucht man Wrapper. Man dreht sich im Kreis.
  • Was braucht man im Alltag, fehlt aber in der Insel? Christian Ullenboom ist immer auf der Suche nach Inhalten, die für die nächsten Auflagen aufgenommen werden sollen.
  • Trotz Aufspaltung in zwei Bände ist die Insel immer noch zu dick für spezielle Abschnitte, was zur Auslagerung einigen Passagen in den Java-Blog führte. Finden Leser einige Abschnitte zu abgedreht, ist das auch eine Meldung wert.

Java Insel im Format PDF, EPUB oder MOBI?

Galileo Computing hat lange an der digitalen Umsetzung für elektronische Lesegeräte gearbeitet. Die Inseln (und auch alle anderen Galileo-Bücher) gibt es zur neuen Ausgabe für Java 8 als E-Books, und zwar in den Formaten PDF, EPUB und Kindle MOBI. Man wird dann das E-Book kaufen können (im Kauf sind alle Formate enthalten) oder man kauft die Print-Ausgabe und damit auch das E-Book (auch alle Formate).

Errata

Sowohl die Online- als auch die Print-Version des Java-Buchs sind stets in Überarbeitung, um sie parallel zu den Neuerungen der Programmiersprache und den Tools weiter zu entwickeln. Eine Errata, die Fehler in der Insel auflistet, gibt es nicht. Das hat praktische Gründe. Einer ist, dass es nicht so viele Fehlermeldungen gibt. Ich riskiere einfach, dass zwei Personen den gleichen Fehler angeben. Das Melden von Fehlern ist über das Webformular bei Galileo so einfach, dass sich der Aufwand nicht lohnt. Dann beginne ich sofort die Arbeit an der neuen Auflage, sobald ich die Dokumente nach dem Druck zurück bekomme. Durch diese Änderungen verschwinden immer wieder Abschnitte komplett, werden verschoben oder umgeschrieben.

Danke!

Schon viele nette Menschen haben mir Hinweise geschickt; mein Dankeschön geht insbesondere an folgende Fehlermelder und Korrekteure.

Bestverkaufte Computing-Buch 2013

Laut Media Control ist Christian Ullenbooms Java-Buch das bestverkaufte Computing-Buch des Jahres 2013. Ausgewertet wurden alle Titel zu Computing-Themen (Programmierung, Netze, Server, Web) aller Verlage. Danke!

Weblog

Im Insel-Blog schreibt der Autor über aktuelle Entwicklungen in Java, Softwareentwicklung im Allgemeinen, Open-Source, JavaScript, neue Eclipse Plugins und NetBeans-Module und Neuerungen in den Java-Büchern.

Weblog von Christian Ullenboom» [RSS]