Zum Inhalt springen

First-Class-Funktion

aus Wikipedia, der freien Enzyklopädie
Dies ist die aktuelle Version dieser Seite, zuletzt bearbeitet am 8. Februar 2025 um 14:20 Uhr durch 84.177.234.183 (Diskussion) (hab den Link direkt gemacht).
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Eine First-Class-Funktion ({{Modul:Vorlage:lang}} Modul:Vorlage:lang:103: attempt to index field 'wikibase' (a nil value), deutsch etwa „Funktion erster Klasse“) bezeichnet in der Programmierung eine Funktion, die

  • einer anderen Funktion als Argument übergeben,
  • von einer anderen Funktion als Wert zurückgegeben,
  • einer Variablen zugewiesen,
  • in einer Datenstruktur gespeichert und
  • zur Laufzeit erzeugt

werden kann. Teilweise gilt auch die Möglichkeit, anonyme Funktionen zu definieren, als Kriterium für eine first-class-Funktion.

Erst damit wird es möglich, Closures zu erzeugen, anonyme Funktionen zu definieren oder Currying durchzuführen.

Der Begriff wurde von Christopher Strachey im Kontext functions as first-class citizens Mitte der 1960er Jahre geprägt.<ref name="burstall"/>

In vielen modernen Programmiersprachen (wie Haskell, JavaScript, Smalltalk und insbesondere verschiedenen Lisp-Dialekten wie Scheme) sind alle Funktionen first-class. Einen für Anfänger sehr leicht verständlichen Zugang zu diesem Konzept bietet die bildungsorientierte visuelle Programmiersprache Snap! (BYOB).

Siehe auch

Quellen

<references> <ref name="burstall"></ref> </references>