OpenJDK Proposal sieht Local Variable Type Inference für Java vor

Michael Thomas

© Shutterstock.com/Profit_Image

Das JDK Enhancement Proposal (JEP) mit der Nummer 286 beschäftigt sich mit der Überlegung, Java die Fähigkeit zur Local Variable Type Inference zu verleihen. Eine im Zuge des Proposals durchgeführte Umfrage ergab, dass die Community dem Vorschlag zwar überwiegend positiv eingestellt ist. In den Detailfragen ist man sich jedoch uneins.

Die meisten populären statisch typisierten Sprachen unterstützen die lokale Typableitung (Local Variable Type Inference) auf die ein oder andere Art (z. B. C++: auto, C#: var, Scala: var/val, Go: :=). Java hingegen steht in dieser Hinsicht mehr oder weniger auf verlorenem Posten. Ginge es nach dem am 8. März von Brian Goetz veröffentlichten Proposal, könnte sich das möglicherweise ändern.

Die Vorteile der Local Variable Type Inference sind in vor allem in der Vermeidung des bei der Deklarierung lokaler Variablen entstehenden Boilerplate-Codes zu suchen. Dabei würden sich die Einsatzgebiete dem JEP 286 zufolge auf lokale Variablen mit Initializern, Indizes in der erweiterten for-Schleife sowie auf die in einer herkömmlichen for-Schleife deklarierten lokalen Variablen beschränken.

Eine im Anschluss an die Veröffentlichung des Proposals gestartete Umfrage sollte herausfinden, wie die Community zu dem von Goetz formulierten Vorschlag steht. Die nun vorliegenden Ergebnisse sprechen – zunächst – eine recht eindeutige Sprache: Von den rund 2.500 Teilnehmern halten ganze 74 % die potentielle Einführung der Local Variable Type Inference für eine „großartige“ Idee, weitere 12 % betrachten diese Aussicht als „okay“. Lediglich 10 % der Teilnehmer lehnen das Proposal rundherum ab.

java-proposal-286-lokale-typableitung

Lokale Typableitung – gute Idee oder nicht? (Quelle: https://www.surveymonkey.com/results/SM-FLWGS5PW/)

Im Hinblick auf die Syntax zeigt sich die Community schon etwas gespaltener. Bei der Frage nach den genutzten (finalen) Variablen votierten 48 % für var/val, 23 % für var, 14 % für var/let, und jeweils rund 3 % für let bzw. auto.

Bevorzugte Variablen – Teil 1 (Quelle: https://www.surveymonkey.com/results/SM-FLWGS5PW/)

Bevorzugte Variablen – Teil 1 (Quelle: https://www.surveymonkey.com/results/SM-FLWGS5PW/)

Noch diffuser sind die Antworten auf die Frage, mit welcher Option die Teilnehmer sich am ehesten (bzw. gar nicht) arrangieren könnten:

Bevorzugte Variablen – Teil 2 (Quelle: https://www.surveymonkey.com/results/SM-FLWGS5PW/)

Bevorzugte Variablen – Teil 2 (Quelle: https://www.surveymonkey.com/results/SM-FLWGS5PW/)

Als Fazit bleibt also: Bei der Frage, ob sie Local Variable Type Inference für eine gute Idee halten, ist sich die Java-Community relativ einig. Bei den Detailfragen des Features gehen die Meinungen jedoch mitunter weit auseinander. Wer seine Meinung zum JEP 286 kund tun möchte, der kann dies im Rahmen der als Nachlese gedachten zweiten Umfragerunde bis einschließlich zum 29. März tun. Egal wie Diskussion enden wird, eines machte Goetz bereits im Vorfeld unmissverständlich klar: Es handelt sich nicht um ein Feature, das zwangsläufig implementiert wird – sondern vielmehr um eines, dass eingebaut werden könnte.

Aufmacherbild: Java von Shutterstock / Urheberrecht:Profit_Image

Verwandte Themen:

Geschrieben von
Michael Thomas
Michael Thomas
Michael Thomas studierte Erziehungswissenschaft an der Johannes Gutenberg-Universität Mainz und arbeitet seit 2013 als Freelance-Autor bei JAXenter.de. Kontakt: mthomas[at]sandsmedia.com
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: