Core Java & JVM-SprachenCore Java & JVM-Sprachen

Value Objects

Das nächste große Ding in Java?
Generics
Null-Restricted Types
Value Objects
Value Types

Abstract


Thu 16:40 - 17:25 Uhr | 2025

Einer der großen Pluspunkte von Java war und ist das statische, starke Typsystem. Das hilft Millionen von Entwicklern, viele Fehler bereits zur Compilezeit zu entdecken und macht die Entwicklung robuster sowie effizienter. Allerdings schleppt Java mit der Unterscheidung zwischen primitiven und Referenztypen von Beginn an eine schwere Bürde mit sich mit. Die vor etwa 30 Jahren aus Performancegründen eingeführten primitiven Datentypen integrieren sich nicht gut mit modernen Ansätze wie Generics, Stream API oder Pattern Matching.

Die Value Objects werden Abhilfe schaffen und die Vorteile beider Welten kombinieren. Damit können wir in Zukunft unveränderbare Datentypen (Zustand und Verhalten, aber ohne eigene Identität) entwerfen, die sich wie primitive Datentypen verhalten. Das steigert nicht nur die Performance und senkt den Speicherverbrauch, es erhöht auch die Les- und Wartbarkeit, da wir dann viel einfacher ausdrucksstarke und trotzdem performante Typen nach den Ideen von DDD selbst definieren können.

Schon seit 10 Jahren wird im Rahmen vom Projekt Valhalla an dieser großen Änderung des Java Typsystems gearbeitet. Daran hängen einige komplexe Fragestellungen, wie z. B. der Umgang mit Default-Werten sowie null-Values, der Umbau der Wrapper-Typen und die Verwendung als generische Typisierung. Im Sommer 2024 hat Java Language Architekt Brian Goetz verkündet, dass nach der langen Zeit der Durchbruch in der Umsetzung erreicht ist. Darum wollen wir gemeinsam schauen, wie wir mit Value Classes, Null-Restricted und Nullable Types sowie erweitertem Primitive Boxing in Zukunft programmieren werde

Non-Sponsored TalkFortgeschritteneDeutsch
Falk Sippach

Falk Sippach

Falk Sippach ist bei der embarc Software Consulting GmbH als Softwarearchitekt, Berater und Trainer stets auf der Suche nach dem Funken Leidenschaft, den er bei Teilnehmern, Kunden und Kollegen entfachen kann. Bereits seit 20 Jahren unterstützt er in agilen Softwareentwicklungsprojekten im Java-Umfeld. Als aktiver Bestandteil der Community (Mitorganisator der JUG Darmstadt und Mitglied der Java Champions) teilt er zudem sein Wissen gern in Artikeln, Blog-Beiträgen, sowie bei Vorträgen auf Konferenzen oder User Group Treffen und unterstützt bei der Organisation diverser Fachveranstaltungen.