stringtranslate.com

Programación de orden superior

La programación de orden superior es un estilo de programación informática que utiliza componentes de software, como funciones, módulos u objetos, como valores. Por lo general, se crea una instancia con modelos de cálculo, o se toma prestado de ellos, como el cálculo lambda , que hace un uso intensivo de funciones de orden superior . Un lenguaje de programación puede considerarse de orden superior si los componentes, como procedimientos o etiquetas, pueden usarse como datos. Por ejemplo, estos elementos podrían usarse de la misma manera que argumentos o valores. [1]

Por ejemplo, en programación de orden superior, se pueden pasar funciones como argumentos a otras funciones y las funciones pueden ser el valor de retorno de otras funciones (como en macros o para interpretación ). Este estilo de programación se utiliza principalmente en programación funcional , pero también puede resultar muy útil en programación orientada a objetos . Una interpretación ligeramente diferente de la programación de orden superior en el contexto de la programación orientada a objetos son los mensajes de orden superior , que permiten que los mensajes tengan otros mensajes como argumentos, en lugar de funciones.

Ejemplos de lenguajes que soportan esto son Ada , Wolfram Language , C# , Java , ECMAScript ( ActionScript , JavaScript , JScript ), F# , Haskell , Lisp ( Common Lisp , Scheme , Clojure , otros), Lua , Oz , Perl , PHP , Prolog , [2] Python , Ruby , Smalltalk , Scala , ML y Erlang .

Ver también

Referencias

  1. ^ Reynolds, John C. (1972). "Intérpretes definitorios para lenguajes de programación de orden superior" (PDF) . Actas de la conferencia anual de ACM sobre - ACM '72 (Reporte). vol. 2. Asociación de Maquinaria de Computación. págs. 717–740. doi :10.1145/800194.805852. ISBN 9781450374927. Consultado el 19 de diciembre de 2021 .
  2. ^ Naish, Lee (1996). Programación de lógica de orden superior en Prolog (Informe). Departamento de Ciencias de la Computación, Universidad de Melbourne. CiteSeerX 10.1.1.35.4505 . 

enlaces externos