Programmazione di ordine superiore
La programmazione di ordine superiore è uno stile di programmazione che usa componenti software, come funzioni, moduli o oggetti come valori. È tipicamente istanziazione, o trae elementi da, modelli di calcolo come il lambda calcolo, che fanno uso di funzioni di ordine superiore.
Ad esempio, nella programmazione di ordine superiore le funzioni possono essere passate come argomenti e restituite come risultato di altre funzioni. Questo paradigma è comune nella programmazione funzionale, ma viene talvolta impiegato anche nella programmazione orientata agli oggetti, nella quale si concretizza anche nei messaggi di ordine superiore, che possono avere come argomenti altri messaggi.
Tra i linguaggi che supportano la programmazione di ordine superiore vi sonoJava, ECMAScript (ActionScript, JavaScript, JScript), F#, Haskell, Lisp (Common Lisp, Scheme, Clojure, Racket), Lua, Oz, Perl, Prolog,[1] Python, Ruby, Wolfram Language, C#, Smalltalk, Scala, ML e Erlang.
Note
[modifica | modifica wikitesto]- ^ Naish, Lee, Higher-order logic programming in Prolog, Department of Computer Science, University of Melbourne, 1996. URL consultato il 2 novembre 2010.
Collegamenti esterni
[modifica | modifica wikitesto]- "Higher Order Programming" by Sjoerd Visscher