Höhere Programmiersprachen sind ein Programmierstil , der Softwarekomponenten wie Funktionen, Module oder Objekte als Werte verwendet. Sie basieren üblicherweise auf Berechnungsmodellen wie dem Lambda-Kalkül , die Funktionen höherer Ordnung intensiv nutzen . Eine Programmiersprache gilt als höherwertig, wenn Komponenten wie Prozeduren oder Labels wie Daten verwendet werden können. Beispielsweise können diese Elemente genauso wie Argumente oder Werte verwendet werden. [ 1 ]

In der Programmierung höherer Ordnung können beispielsweise Funktionen als Argumente an andere Funktionen übergeben werden, und Funktionen können der Rückgabewert anderer Funktionen sein (etwa in Makros oder zur Interpretation ). Dieser Programmierstil wird hauptsächlich in der funktionalen Programmierung verwendet , ist aber auch in der objektorientierten Programmierung sehr nützlich . Eine etwas andere Interpretation der Programmierung höherer Ordnung im Kontext der objektorientierten Programmierung sind Nachrichten höherer Ordnung , die es ermöglichen, dass Nachrichten andere Nachrichten anstelle von Funktionen als Argumente haben.

Beispiele für Sprachen, die dies unterstützen, sind Ada , Wolfram Language , C# , Java , ECMAScript ( ActionScript , JavaScript , JScript ), F# , Haskell , Lisp ( Common Lisp , Scheme , Clojure , andere), Lua , Oz , Perl , PHP , Prolog , [ 2 ] Python , Ruby , Smalltalk , Scala , ML und Erlang .

Siehe auch

Referenzen

  1. ^ Reynolds, John C. (1972). „Definitional Interpreters for Higher-Order Programming Languages“ (PDF) . Proceedings of the ACM annual conference on - ACM '72 (Report). Vol. 2. Association for Computing Machinery. S.  717–740 . doi : 10.1145/800194.805852 . ISBN 9781450374927Abgerufen am 19. Dezember 2021 .
  2. ^ Naish, Lee (1996). Höherwertige Logikprogrammierung in Prolog (Bericht). Fachbereich Informatik, Universität Melbourne. CiteSeerX 10.1.1.35.4505 .