Closures in Java 7 - aber welche?

Noch ist nur klar, dass die nächste Version von Java nach Suns Willen Closures enthalten soll. Eine Implementierung gibt es noch nicht, und mit den vorliegenden Vorschlägen ist man nicht zufrieden.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Dass Java 7 entgegen Suns ursprünglichen Plänen nun doch Closures enthalten soll, steht inzwischen fest. Anders als befürchtet will Sun jedoch nicht im stillen Kämmerlein entscheiden, wie die Implementierung aussehen soll.

In einem Blog-Eintrag lädt Simon Phipps, bei Sun zuständig für Open Source, alle Interessierten zur Diskussion über das neue Feature ein. Etwas detaillierter beschreibt Mark Reinholds, Software-Ingenieur bei Sun, was Closures für parallele Programmierung leisten können. Seiner Meinung nach sind die drei bislang disktuierten Vorschläge BGGA, CICE und FCM (First Class Methods) jedoch nicht geeignet. So sei etwa das früher von BGGA vorgesehene nicht-lokale return für Java nicht akzeptabel gewesen.

Entwickler brauchen, so Reinholds, eine Syntax für das Schreiben von Closures und einen Funktionstyp, damit sie sie wie jeden anderen Datentypen behandeln können. Außerdem müsse es Konvertierungsmöglichkeiten geben, sodass eine Closure anstelle eines Objekts oder einer abstrakten Klasse benutzt werden kann. Zusätzliche Erweiterungsmethoden sollten es ermöglichen, Closures mit vorhandenen Bibliotheken zu verbinden.

Reinholds kündigt an, dass Sun einen JSR zur Änderung der Sprache zur Diskussion stellen werde, sobald die Firma eine "einfache" Closure-Implementierung nach seinen Vorstellungen entwickelt hat. (ck)