La evaluación perezosa ( eng. evaluación perezosa , también evaluación diferida ) es una estrategia de cálculo utilizada en algunos lenguajes de programación , según la cual los cálculos deben posponerse hasta que se necesite su resultado. La evaluación perezosa se refiere a la evaluación no estricta . Un modelo mejorado de evaluación perezosa, la evaluación optimista , se está moviendo hacia la categoría de estrategias de evaluación no deterministas .
Los cálculos perezosos le permiten reducir la cantidad total de cálculos debido a esos cálculos, cuyos resultados no se utilizarán. El programador puede simplemente describir las dependencias de las funciones entre sí y no asegurarse de que no se realicen "cálculos excesivos".
La evaluación perezosa cayó naturalmente en el paradigma de la programación funcional , ya que los lenguajes de programación funcional que implementan la evaluación perezosa se han establecido como herramientas convenientes para la creación de prototipos y el desarrollo rápido de software, así como para el diseño de dispositivos informáticos electrónicos .
Algunos lenguajes de programación que implementan evaluación perezosa:
Para usar la evaluación diferida, no se requiere soporte incorporado en el lado del lenguaje de programación; en muchos casos, la evaluación diferida se puede implementar por cualquier medio disponible. Por ejemplo, en la práctica de muchos lenguajes, se usa ampliamente el patrón de diseño de " inicialización perezosa " , que prescribe transferir la ejecución de operaciones intensivas en recursos para crear objetos u obtener un valor inmediatamente antes de su uso. Se han creado bibliotecas para varios lenguajes que proporcionan una evaluación diferida, por ejemplo, para JavaScript , estas son Streams.js , linq.js , Immutable.js y node-lazy .