Lenguajes funcionales
LENGUAJE
CARACTERISTICAS
VENTAJAS
DESVENTAJAS
Ejemplo
HASKELL
soporte para datos y funciones recursivas, listas, tuplas, guardas y calce de patronesBrevedad
Facilidad para comprender
Manejo de los tipos de datos
Reutilización de código y polimorfismo
Evaluación perezosa y programas modulares
Abstracciones poderosas y funciones como valoresde primera clase
Recolección de basura
El inconveniente principal típicamente ha sido la
ineficiencia en la ejecución de los lenguajes
funcionales. Debido a su naturaleza dinámica,
estoslenguajes siempre han sido interpretados más
que compilados, resultando en una pérdida
sustancial en velocidad de ejecución.
suma::Int->Int
suma 0=0
suma n=(mod n 10)+suma(div n 10)
ERLANGConcurrencia: Erlang utiliza procesos ligeros cuyo requisitos de memoria pueden variar de forma dinámica..
Distribución: Erlang está diseñado para ejecutarse en un entorno distribuido.Robustez: Erlang tiene varias primitivas de detección de errores que se pueden utilizar para estructurar sistemas tolerantes a fallos.
Soft-real-time: Erlang admite programación "suave" de sistemas de tiempo real,que requieren tiempos de respuesta en el orden de milisegundos.
Actualización de código en caliente: En los sistemas empotrados, todo el código se carga generalmente en el arranque.
La granventaja de este algoritmo es que no ocupa espacio adicional
-libre
-soporta fallos
el tiempo de corrida de este algoritmo depende del tamaño del heap.
Propenso a errores
-module(factorial).-export([factorial/1]).
factorial(N) when N == 0 -> 1;
factorial(N) when N > 0 -> N * factorial(N-1).
LISP
Programación de sistemas expertos e inteligencia artificial. Expresaalgoritmos recursivos a partir del cálculo Lambda. Se definen unas reglas de lógica y se puede decir que se dan las bases del razonamiento humano.
Recolección de basura, recolección automática de...
Regístrate para leer el documento completo.