You are on page 1of 6

PROGRAMACIN DECLARATIVA

Libro:

Libro: Fundamentos de IA, Luis Alvarez Munrriz, Universidad de Murcia, 1994.

La programacin declarativa se basa en la idea de utilizar un cierto tipo de lgica como


lenguaje de programacin. Esto incluye tanto la programacin lgica (o relacional, que usa un
lenguaje clausal para programar y el principio de resolucin como mecanismo de ejecucin)
como la funcional (que usa el lenguaje de las funciones matemticas y la reduccin de
expresiones como mecanismo computacional).

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: Introduccin a la Ing de software.- Modelos de desarrollo de programas. Fernando


Alonso, Loic Martnez, Francisco Segovia. Delta publicaciones, Madrid Espaa 2005.

Libro:

LENGUAJES IMPERATIVOS

You might also like