Interview mit Jens Schauder

Java 14 Highlights: „Java 14 ist ein echtes Feuerwerk“

Dominik Mohilo

Pünktlich zum Erscheinen von Java 14 haben wir uns mit Jens Schauder unterhalten. Gestartet zu Hause mit dem programmierbaren Tischrechner, hat er es 2017 zum Spring Data Team geschafft. Im Interview erzählt er uns von seinen Highlights in Java 14 und den Schwierigkeiten bei der Umsetzung. Auch der neue Release-Zyklus ist Thema in unserem Gespräch.

JAXenter: Java 14 ist gerade erschienen. Was ist dein Highlight des Releases?

Jens Schauder: Java 14 ist in meinen Augen ein echtes Feuerwerk. Es ist schwierig, sich zwischen Pattern Matching for instanceof, besseren NPEs, Switch Expressions und Records zu entscheiden. Wenn ich mich entscheiden muss, wähle ich das Pattern Matching for instanceof. Es ist etwas, was in der Codebasis von Spring Data wirklich praktisch wäre. Records finde ich eigentlich noch besser, aber sie sind als Preview gekennzeichnet.

JAXenter: Welches Feature vermisst du in Java 14?

Union Types habe ich mir schon oft gewünscht

Schauder: Ich bin ja kein Sprachdesigner. Daher kann ich gar nicht so recht beurteilen, was sinnvoll ist und was nicht. Ich bin immer beeindruckt, wenn ich mich mit Leuten unterhalte, die von so etwas Ahnung haben. Aber ich denke, ein Typsystem könnte mehr leisten, als das von Java es momentan tut. Union Types habe ich mir schon oft gewünscht. Aber wie gesagt, ich habe keine Ahnung, was für Auswirkungen auf das große Ganze das hätte und ob es die Mühe wert wäre.

Update auf Java 14?

JAXenter: Wirst du bzw. werden deine Kunden sofort auf das neue Release updaten oder lohnt sich das für dich bzw. deine Kunden nicht?

Schauder: Bis Spring selbst Java 14 einsetzt, also wir unseren Code in Java 14 schreiben, wird es wohl noch ein gehöriges Weilchen dauern. Aber unterstützen werden wir es sicherlich zeitnah.
Zum Beispiel hat es schon die ersten Experimente für die Unterstützung von Records in Spring Data gegeben.

JAXenter: Welche Schwierigkeiten siehst du dabei dabei, die neuen Java-Versionen gleich in Produktion einzusetzen?

Schauder: Als Bibliothek/Framework kann Spring nicht voraussetzen, dass alle auf die aktuelle Version wechseln. Wie in der Vergangenheit auch wird es einen zeitlich entspannten Übergang geben, in dem man Java 14 nutzen kann, aber auch noch wesentlich ältere Versionen unterstützt werden. Unabhängig von Spring hoffe ich doch, dass wir die Schmerzen der Einführung des Modulsystems hinter uns gelassen haben und ein Versionsupgrade recht problemlos ist, wenn man eine Anwendung baut.

JAXenter: Nähert sich Java durch Features wie JEP 358 Helpful NullPointerExceptions „modernen“ Sprachen wie Kotlin an?

Programmiersprachen geraten entweder in Vergessenheit oder sie entwickeln sich weiter

Schauder: Ich habe eine sehr ähnliche Frage gehört, als Lambdas eingeführt wurden. Die Vergleichssprachen, die damals angeführt wurden, waren aber Scala und Groovy. Ich kenne weder Groovy noch Kotlin genauer, aber Scala hatte damals schon Sprachfeatures, die über das hinausgehen, was Java jetzt hat. Ich gehe davon aus, dass die Situation mit Kotlin ähnlich ist. Aber eigentlich ist die Prämisse falsch. Programmiersprachen geraten entweder in Vergessenheit oder sie entwickeln sich weiter und kopieren dabei fleißig Features von anderen Sprachen. Java zeigt mit diesem Release, dass es sich fleißig – aber auch sehr besonnen – Dinge von anderen Sprachen abschaut. Es wird immer jede Menge Sprachen geben, die das eine oder andere zusätzliche neue Feature haben, aber das ist irrelevant, solange man nicht Papers über neue Sprachfeatures schreiben will.

JAXenter: Welche Wünsche bzw. Präferenzen hast du für das ebenfalls noch in diesem Jahr erscheinende Java 15?

Schauder: Ich vertraue da voll und ganz den Leuten, die sich wirklich damit auskennen. Die haben ihren Job in den letzten circa 25 Jahren gut gemacht, die werden das auch weiterhin tun..

JAXenter: Was hältst du generell von der Beschleunigung, die Java durch den sechsmonatigen Releasezyklus erlebt?

Schauder: Früher arbeitete ich in einem Konzern, in dem die sogenannte neue Java-Version erst eingesetzt wurde, wenn die alte aus dem Support lief. Jetzt arbeite ich an einem Framework, das in solchen Konzernen oft genutzt wird. D. h. ich arbeite wieder mit relativ alten Versionen und es wird ein Weilchen dauern, bis ich die neuen Features wirklich nutzen kann. Es hat sich also nicht so viel geändert. Überhaupt hat sich doch nicht die Geschwindigkeit geändert, sondern nur die Kadenz, oder?

JAXenter: Vielen Dank für dieses Interview!

Jens Schauder hat vor unglaublich langer Zeit auf einem in Assembler programmierbaren Tischrechner angefangen zu programmieren. Nach fast 20 Jahren als Consultant für meist große Konzerne, hat er es 2017 geschafft sich beim Spring Data Team ein zu schleichen. Dort arbeitet er meist an den Modulen Commons, JPA und JDBC, erzählt davon auf Konferenzen oder hilft anderen Entwicklern auf Stackoverflow.
Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

1
Hinterlasse einen Kommentar

avatar
4000
1 Kommentar Themen
0 Themen Antworten
0 Follower
 
Kommentar, auf das am meisten reagiert wurde
Beliebtestes Kommentar Thema
1 Kommentatoren
Anonymous Letzte Kommentartoren
  Subscribe  
Benachrichtige mich zu:
Anonymous
Gast
Anonymous

Das letzte mal, als ich nachgesehen habe, hat Jens Schauder für Pivotal an Spring Data JDBC gearbeitet und nicht mehr für T-Systems.

https://github.com/schauder