Valor futuro (informática)

De Wikipedia, la enciclopedia libre

En Programación, un valor futuro (también llamado un futuro o una promesa) es un reemplazo para un resultado que todavía no está disponible, generalmente debido a que su cómputo todavía no ha terminado, o su transferencia por la red no se ha completado.

El término futuro se utiliza en las transacciones bursátiles como bien de reemplazo para otros que están en producción o transporte. Al igual que con futuros, se puede realizar sobre los valores futuro todo tipo de operaciones que no impliquen conocer su valor o componentes.

El término promesa fue propuesto en 1976 por Daniel P. Friedman y David Wise.[1]​ y Peter Hibbard llamó a esto eventual.[2]​ Los valores futuros fueron introducidos en 1977 en un artículo de Henry Baker y Carl Hewitt.[3]​ La utilización de valores futuros permite reducir de forma importante la latencia en sistemas distribuidos. Por ejemplo, permite habilitar la secuenciación de mensajes, llamada secuenciación prometida (Promise pipelining en inglés).[4]

Implementaciones[editar]

Los valores futuros han sido incluidos en diferentes lenguajes de programación tales como MultiLisp, Act1 y Alice. Un concepto similar es el uso de variables lógicas en programación concurrente, tal como existe en "Prolog with Freeze" y en "IC Prolog", convirtiéndose en una verdadera primitiva de programación concurrente en Concurrent Prolog.

Entre los lenguajes de programación que utilizan este concepto están:

La secuenciación prometida se utiliza en los lenguajes:

Referencias[editar]

  1. Friedman, Daniel; David Wise (1976). The Impact of Applicative Programming on Multiprocessing. Conferencia Internacional sobre Procesamiento en Paralelo. 
  2. Hibbard, Peter (1976). Parallel Processing Facilities. New Directions in Algorithmic Languages, (ed.) Stephen A. Schuman, IRIA, 1976. 
  3. Henry Baker y Carl Hewitt (agosto de 1977). The Incremental Garbage Collection of Processes. Proceedings of the Symposium on Artificial Intelligence Programming Languages, SIGPLAN Notices 12. 
  4. Secuenciación prometida en erights.org
  5. Documentación sobre la clase Promise en Perl 6

Enlaces externos[editar]