Eigentlich habe ich heute den ganzen Tag nur diesem Moment entgegen gesehnt. Übers Wochenende habe ich mich ein wenig in die Lektüre Pracatical Common Lisp vertieft und dabei drängten sich mir eine ganz große Frage auf:
“Was sind eigentlich Closures? Und wozu braucht man sie?”
Ich weiß über Closures an sich nur soviel, dass viele sich diese in der jeweilgen Programmiersprache wünschen, die diese ja offensichtlich nicht unterstützt. 
Da ich leider noch kein erfahrener “Lisper” bin, wusste ich mit dem Begriff schlicht und ergreifend nichts anzufangen. Zum Glück ist unser Lehrbeauftragter ein begeisterter Lisp-Fan. (Von ihm habe ich ja auch diesen Buchtipp, Practical Common Lisp, bekommen.)
Hier muss ich an merken, dass er sehr erfreut gewirkt hatte, als ich vor knapp 2 Wochen gesagt hatte, dass ich Interesse hätte, Lisp zu lernen.
O-Ton: “Wenn Sie fragen haben sollten, kommen Sie zu mir. Das ist kein Problem.”
Und heute, nach der Vorlesung machte ich auch davon Gebrauch:
“Ich hab da mal eine Frage, aber nicht zur Programmiersprache Java, sondern zu Lisp.”
…zu besagten Closures eben. Er darauf.:
“Closures sind was ganz tolles.”
So wie ich ihn dann verstanden habe, soll man damit Funktionen überdecken können – für alle, die Fachwörter lieben: Shadowing – auch wenn diese sich in einem völlig anderen Package befinden sprich, sie befinden sich in einer anderen Übersetzungseinheit).
Bisher hab ich aber auch noch nicht wirklich die tollsten Dinge in Lisp programmiert; damit wird es wohl noch etwas daueren, bis ich den ganzen, neuen Input zum Thema Common Lisp richtig verstanden und (ver-/be-)arbeitet habe.
Und der beste Spruch zum Schluss:
“Irgendwann sieht man die Klammern nicht mehr.”
Kommentare