Zum Inhalt springen

„First-Class-Funktion“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[gesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Trashcoder (Diskussion | Beiträge)
K Im Wikipedia-Artikel First-Class-Objekt steht, dass in C++ Funktionen keine First-Class Objekte sind. Daher habe ich C++ herausgenommen. Auch die Quelle 3 bestätigt dieses.
Zeile 5: Zeile 5:
Der Begriff wurde von [[Christopher Strachey]] im Kontext “functions as first-class citizens” Mitte der 1960er Jahre geprägt.<ref>Rod Burstall, "Christopher Strachey—Understanding Programming Languages", ''Higher-Order and Symbolic Computation'' '''13''':52 (2000)</ref>
Der Begriff wurde von [[Christopher Strachey]] im Kontext “functions as first-class citizens” Mitte der 1960er Jahre geprägt.<ref>Rod Burstall, "Christopher Strachey—Understanding Programming Languages", ''Higher-Order and Symbolic Computation'' '''13''':52 (2000)</ref>


In vielen modernen Programmiersprachen wie [[C++]], [[Haskell_(Programmiersprache)|Haskell]], [[JavaScript]], [[Smalltalk-80_(Programmiersprache)|Smalltalk]] und insbesondere verschiedenen [[Lisp|Lisp-Dialekten]] wie [[Scheme]] sind die Funktion ''first-class''. Einen für Anfänger sehr leicht verständlichen Zugang zu diesem Konzept bietet die [[Programmiersprachen für Kinder|für Kinder]] entwickelte [[Visuelle Programmierung|visuelle]] Programmiersprache [[Scratch (Programmiersprache)#Snap! (BYOB)|Snap! (BYOB)]].
In vielen modernen Programmiersprachen wie [[Haskell_(Programmiersprache)|Haskell]], [[JavaScript]], [[Smalltalk-80_(Programmiersprache)|Smalltalk]] und insbesondere verschiedenen [[Lisp|Lisp-Dialekten]] wie [[Scheme]] sind die Funktion ''first-class''. Einen für Anfänger sehr leicht verständlichen Zugang zu diesem Konzept bietet die [[Programmiersprachen für Kinder|für Kinder]] entwickelte [[Visuelle Programmierung|visuelle]] Programmiersprache [[Scratch (Programmiersprache)#Snap! (BYOB)|Snap! (BYOB)]].


== Quellen ==
== Quellen ==

Version vom 26. Mai 2014, 11:27 Uhr

Eine first-class-Funktion (englisch first-class function) bezeichnet in der Programmierung von Computersystemen 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.[1]

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

Quellen

  1. Rod Burstall, "Christopher Strachey—Understanding Programming Languages", Higher-Order and Symbolic Computation 13:52 (2000)

Siehe auch