lambdaj 2.0: Closures in Java
In Java 7 landet das Closures-Konzept wohl nicht, Projekte wie das gerade veröffentlichte lambdaj 2.0 haben dadurch einen Grund, die Funktion einzuführen.
- Alexander Neumann
Die Einführung von Closures in die Java-Programmiersprache ist einer der am meisten vermissten Punkte in der Java-Entwicklung. Und auch in dem gerade entwickelten Java 7, mit dem nächstes Jahr zu rechnen sein wird, vermisst man sie, auch wenn Sun sie lange auf der Roadmap für diese Version führte.
Die auf der Google-Code-Plattform gehostete lambdaj-Bibliothek – gerade in Version 2.0 veröffentlicht – möchte sich dieses Desiderats annehmen. Mit der neuen Version haben die Entwickler eine neue Funktion eingeführt, mit der Anwender unter Zuhilfenahme der der Technik eigenen domänenspezifischen Sprache (DSL) Funktionen mit freien Variablen festlegen können, wie ein von den Entwicklern eingestellter Artikel auf TheServerSide.com zeigt.
Das Closures-Konzept stammt aus funktionalen Programmiersprachen und wurde erstmals in dem Lisp-Dialekt Scheme vollständig umgesetzt. Mittlerweile unterstützen auch nichtfunktionale Sprachen wie C#, Delphi, Groovy, JavaScript, Lua, Perl, PHP, Python, Ruby und Smalltalk die Funktion. Closures reproduzieren beim Aufruf ihren Definitionskontext, selbst wenn der Kontext außerhalb der Funktion nicht mehr existiert. (ane)