Wunschzeit und wo die Inseln für Java 8 stehen

Jetzt wo Java 8 auf der Zielgeraden ist, und ich mit keinen API-Änderungen mehr rechnen muss, gehen auch die beiden Insel in die Endphase. Die Neuerungen sind ja im Grunde sehr große Bausteine wie Lambda-Ausdrücke und Stream-API und dann duzend verteilte Änderungen.

Nervig für mich als Autor war die Dynamik, die die API noch in der letzten Phase entwickelte; besonders trat das bei der Stream-API auf. Doch komplett fertig sind nun die großen Kapitel über

  • Lambda-Ausdrücke (ca. 30 Word-Seiten)
  • java.util.function und funktionale Programmierung (ca. 20 Word-Seiten)
  • Stream-API (ca. 30 Word-Seiten)

Alle kleineren Sprachänderungen wie Default-Methoden und statische Schnittstellenmethoden sind ebenfalls komplett fertig und verteilt.

Fast alle kleineren API-Änderungen sind ebenfalls eingeflossen und im Grunde sind damit die beiden neuen Bände fertig. Was noch fehlt — und daran arbeite ich gerade als letztes — ist die neue Date-Time-API. Große Freude bereitet mir das nicht … Vielleicht baue ich das später in der nächsten Auflage weiter aus, wenn der andere Datums-Teil (Date, Calender, …) komprimiert wird. Ebenfalls von meiner Lust abhängig wird sein, wie weit ich JFC (Swing, Java 2D) kürze und die GUI-Themen nach JavaFX bringe.

Die Insel Band 2 greift nicht alle Bibliotheken in hundertprozentiger Tiefe auf, da es Bereiche gibt, die schon sehr speziell sind, und dafür fehlt auch der Platz. Vermutlich werden ich zu folgenden (extrem spannenden Themen) nicht mehr als einen Satz bringen:

  • Neuer Typ java.util.concurrent.locks.StampedLock
  • Neuer Typ java.util.concurrent.CountedCompleter
  • Neuer Typ java.util.concurrent.ConcurrentHashMap.KeySetView
  • Neuer Typ java.util.concurrent.CompletionStage
  • Neuer Typ java.util.concurrent.CompletionException
  • Neuer Typ java.util.concurrent.CompletableFuture
  • Neuer Typ java.util.concurrent.CompletableFuture.AsynchronousCompletionTask
  • Änderungen am ForkJoinPool

Bis auf ein paar weiteren Kleinigkeiten (Implementierung vom eigenen Spliterator, Reflection-Kram, Locale-Update, …) ist sonst die Abdeckung der neuen Themen bei 100%.

Kummer macht mir die Java 8 Unterstützung der Eclipse IDE, da es bisher keine Eclipse-Version mit integriertem Java 8 Compiler gibt, nur über ein Update. Luna soll im Juni fertig sein, das wäre eigentlich zu spät. Bei NetBeans haben wir das Problem natürlich nicht.

Haben meine Leser noch spezielle Wünsche an die nächste Auflage?

Ähnliche Beiträge

3 Gedanken zu “Wunschzeit und wo die Inseln für Java 8 stehen

  1. Hallo Herr Ullenboom,

    danke für die Frage 🙂

    Seit einem Weilchen verfolge ich Ihr Blog, um mich u.A. über Neuigkeiten in Java zu informieren.

    Toll wäre es, wenn es ein Kapitel nur für Umsteiger gäbe. Als jene, welche die Insel für Version 7 gelesen haben. Dort sind die Änderungen zusammen gefasst. Inklusive Liste/übersichtlicher Index, wohin geblättert werden muss, um die Neuerungen im Detail zu lernen (quasi als Checklist).

    Weihnachten ist zwar noch ein Weilchen hin, dennoch wünsche ich mir jetzt schon was: wenn Sie vielleicht auch etwas über die geänderten Konventionen/Praktiken schreiben könnten, die das Programmierer-Leben erleichtern: „Wurde bis jetzt ’so‘ gemacht, wird mit Java 8 ’so‘ gemacht“. Wenn das sowieso in den Themen vorkommt, dann zumindest auch wieder einen Index an zentraler Stelle, der mir sagt, wo ich hinblättern muss…

    lG
    Josef S

  2. Genau das kommt immer im 2. Band in das erste Kapitel, das fasst noch einmal alle Neuerungen zu Java 8 zusammen. Bei den Bibliotheken hat man eigentlich nur die Date-Time-API, sodass man von den alten Date/Calendar/… wegkommt — ein Absatz zur Migration gibt es auch. Das mit dem vorher < => nachher ist eine gute Anregung.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert