Valor futuro (informática)

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

En Programación, un valor futuro (también llamado un futuro o una promesa) es un remplazo 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 remplazo 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 llamo 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 (1976). «The Impact of Applicative Programming on Multiprocessing» en Conferencia Internacional sobre Procesamiento en Paralelo. .
  2. Hibbard, Peter (1976). «Parallel Processing Facilities» en New Directions in Algorithmic Languages, (ed.) Stephen A. Schuman, IRIA, 1976.. .
  3. Henry Baker y Carl Hewitt (agosto 1977). «The Incremental Garbage Collection of Processes» en Proceedings of the Symposium on Artificial Intelligence Programming Languages, SIGPLAN Notices 12. .
  4. Secuenciación prometida en erights.org

Enlaces externos[editar]