Professional Documents
Culture Documents
Libro:
Programacin declarativa
La Programacin Declarativa, en contraposicin a la programacin imperativa es un paradigma
de programacin que est basado en el desarrollo de programas especificando o "declarando"
un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o
transformaciones que describen el problema y detallan su solucin. La solucin es obtenida
mediante mecanismos internos de control, sin especificar exactamente cmo encontrarla (tan
slo se le indica a la computadora qu es lo que se desea obtener o qu es lo que se est
buscando). No existen asignaciones destructivas, y las variables son utilizadas con
Transparencia referencial
Diferencia entre imperativo y declarativo
En la programacin imperativa se describe paso a paso un conjunto de instrucciones que
deben ejecutarse para variar el estado del programa y hallar la solucin, es decir, un algoritmo
en el que se describen los pasos necesarios para solucionar el problema.
En la programacin declarativa las sentencias que se utilizan lo que hacen es describir el
problema que se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto
ltimo se realizar mediante mecanismos internos de inferencia de informacin a partir de la
descripcin realizada.
Tipos
Existen varios tipos de lenguajes declarativos:
Los lenguajes lgicos, como Prolog.
Los lenguajes algebraicos, como Maude y SQL
Los lenguajes funcionales, como Haskell
Ventajas
Se ha dicho que los lenguajes declarativos tienen la ventaja de ser razonados
matemticamente, lo que permite el uso de mecanismos matemticos para optimizar el
rendimiento de los programas.[1]
Son fiables, elegantes y expresivos.
Algunos lenguajes declarativos
Haskell (Programacin funcional)
ML (Programacin funcional)
Lisp (Programacin funcional)
Prolog (Programacin Lgica)
F-Prolog (Programacin Lgica Difusa)
Curry (Programacin Lgico-Funcional)
SQL
Libro:
LENGUAJES IMPERATIVOS