Java feiert 25. Geburtstag: „Typed Exceptions in der untersten Schicht sind ein Albtraum“

Dr. Roland Huß
Java wird 25 Jahre alt – definitiv ein Grund für uns hier auf JAXenter zu feiern. Ein Vierteljahrhundert voller Geschichten, Features, Releases und Kontroversen. Wir haben im Zuge dieses Jubiläums mit einer Reihe von Java Champions und Experten aus der Community über ihre Highlights und Lieblings-Features aus 25 Jahren Java sowie ihre Wünsche für die nächsten 25 Jahre gesprochen. Dieses Mal im Interview: Roland Huß, Principal Software Engineer bei Red Hat.
JAXenter: Was war dein ganz persönliches Java-Highlight der letzten 25 Jahre?
Roland Huß: Was Features betrifft sind meine persönlichen Highlights Java 5 mit Annotations und Generics, aber auch Java 8 mit Lambdas. Darüber hinaus ist es aber auch sensationell, wie die Java Community über die Jahre zu einer eingeschworenen Gemeinschaft gewachsen ist. Ich denke, das ist einmalig in der IT-Welt und darüber hinaus.
JAXenter: Was ist dein Lieblings-Feature im JDK?
Roland Huß: Die guten alten Interfaces stehen bei mir ganz oben auf der Liste, da sie es von Anfang ermöglicht haben, Abstraktionen leichtgewichtig ohne die Probleme einzuführen, die z.B. die Mehrfachvererbung von C++ hatte. Dabei sind Interfaces leicht zu verstehen und seit Java 8 mit den Default-Methoden auch einfach rückwärtskompatibel zu erweitern.
JAXenter: Welches Feature vermisst du, bzw. was glaubst du, welches Feature das JDK wirklich braucht?
Roland Huß: Ich denke, man kann mit Java alles machen, wenn auch manches etwas viel Zeremonie braucht. Das hat sich aber über die letzten Java-Versionen hinweg (seit etwa Java 7) deutlich gebessert – insbesondere dank der Lambdas. Ich würde mir wünschen, wenn man z.B. getter oder setter etwas knapper schreiben könnte. So wie es beispielsweise Lombok als Library bereitstellt, aber direkt auf Sprachebene. Was ich auch immer vermisst habe, sind Multi-Value-Rückgabewerte, so wie sie in Perl oder Go vorkommen. Die allerletzten Entwicklungen von Java habe ich nicht mehr so direkt verfolgt, also ist da ja vielleicht schon etwas in der Pipeline 😉
JAXenter: Was ist dein größter Java-Albtraum
Es ist sensationell, wie die Java Community über die Jahre zu einer eingeschworenen Gemeinschaft gewachsen ist.
Roland Huß: Eine Typed Exception in der untersten Schicht einzuführen (und wenn Techniken wie Exception Tunneling nicht zur Verfügung stehen). Das passiert gar nicht so selten, wenn man z.B. IO-Operationen zu seinem Code hinzufügt. Es kann dann schon mal einen Tag dauern, bis man bei einer großen Codebase alle Methodensignaturen in den Schichten darüber angepasst hat. Das macht definitiv keinen Spaß.
Ein mehr persönlicher Albtraum ist aber der Unterschied zwischen Kovarianz und Kontravarianz bei Generics. Den muss ich mir jedesmal wieder neu „anlernen“, wenn ich längere Zeit nichts mit Generics gemacht habe. Ich habe das Gefühl, das könnte einfacher gehen, wenn es kein Type Erasure gäbe, aber ich bin definitiv kein Experte auf diesem Gebiet.
JAXenter: Bitte vervollständige den folgenden Satz: Für die nächsten 25 Jahre Java wünsche ich mir…
Roland Huß: …, dass die Entwicklung in genau dem dosierten Tempo weitergeht und weiterhin ein guter Kompromiss zwischen Rückwärtskompatibilität und Sprachfortschritt gesucht wird.

Hinterlasse einen Kommentar