Evaluacion imperativa o impaciente
La evaluacion imperativa es aquella que ejecuta todo el programa aunque ya no tenga sentido seguir adelante. este tipo de evaluacion es el que usan los lenguajes de programacion mas comunes y por lo general en cuanto a recursos se consumen mas debido a que muchas veces por el hecho de seguir adelante sin necesidad de puede provocar errores inesperados en los programas.
Evaluacion perezosa
La evaluacion perezosa a diferencia de la imperativa no se molesta en seguir adelante si no es necesario, digamos por ejemplo que se tiene que revisar una lista que contenga solo numeros pares y en la primera posicion se topa con un numero impar, haskell inmediatamente dejara de buscar en el resto de la lista por que no tiene caso.
Ventajas y desventajas de cada tipo de evaluacion.
la evaluacion imperativa entrega resultados exactos, y al momento de depurar en caso de errores de resultado es mucho mas facil corregir, pero consume mas recursos y tarda mas tiempo en ejecutarse.
la evaluacion perezosa por otra parte es mas inexacta y si se tienen errores en los resultados que da podria ser mas confuso encontrar donde esta el error ya que el programa simplemente deja de hacer lo que hace en vez de mostrar algun dialogo de error.
No hay comentarios:
Publicar un comentario