You are on page 1of 2

Paradigma Declarativo

Fuertemente basado en el establecimiento de relaciones, el paradigma declarativo hace uso de funciones o bien de la lgica de predicados para establecer dichas relaciones, y por esto se puede distinguir entre otras dos grandes ramas que agrupan a los lenguajes bajo esta filosofa, denominadas: Paradigma funcional: basado en la evaluacin de funciones matemticas. Paradigma lgico: se sustenta en la idea de que un problema puede ser descrito definiendo ciertas relaciones sobre un conjunto de datos, y que pueden obtenerse conclusiones a partir de estas premisas aceptadas como validas, por medio de aplicacin de ciertas reglas de deduccin. Claros ejemplos de estos paradigmas son Haskell y Prolog respectivamente. Curiosamente hay otro lenguaje, Curry (lenguaje declarativo) que fue creado para unificar lo mejor de la programacin lgica y la programacin funcional. Caractersticas del paradigma: * Conceptos resaltados con hipervinculos.* El paradigma declarativo es un paradigma que se centra en la descripcin del problema, ms que los procedimientos necesitamos para llegar a la solucin del problema. Lo ms importante, es descubrir un algoritmo general para la resolucin del problema. Despus de hacer esto slo tenemos que expresarlos en una forma compatible con dicho algoritmo y aplicarlo. Ac la tarea del programador es crear un enunciado preciso del problema, ms que a descubrir un algoritmo para resolverlo. Con la informacin anterior, el sistema debe poder derivar un esquema de evaluacin que nos permita computar una solucin, es decir, no existe una descripcin paso a paso de cmo llegar a la solucin como la hay por ejemplo en le paradigma imperativo. Este paradigma de programacin es que esta basado en el desarrollo de programas, especificando el conjunto de hechos, reglas, restricciones, transformaciones, ecuaciones, y otras propiedades que resuelven el problema. Las variables slo pueden tener asignado un solo valor a lo largo de la ejecucin del programa, lo cual implica que no puede existir asignacin destructiva. Debido a esto, cobra especial importancia el uso de recursividad. Las listas representan la estructura fundamental de datos.

El orden de ejecucin no resulta importante, debido a que no existen efectos colaterales, es decir que al calcular un valor, resulta imposible afectar el clculo de otros y con esto se puede afirmar, que cualquier secuencia de ejecucin deber de conducir al mismo resultado. Las expresiones o definiciones, pueden ser usadas como valores y por lo tanto se pueden tratar como argumentos de otras definiciones.(funciones de orden superior, cuando una funcin puede servir como argumento de otra, puede almacenarse como valor en una estructura de datos, o el resultado es otra funcin). Una funcin intentar evaluar los parmetros con los que fue definida, para efectuar las reducciones que nos permitan obtener (evaluacin perezosa). El control de la ejecucin, no es responsabilidad del programador

Desventajas del paradigma. El principal obstculo del paradigma declarativo es el descubrimiento del algoritmo bsico para resolver problemas. Por esta razn, los lenguajes declarativos tienden a ser de propsito especfico, diseados para usarse en aplicaciones particulares. Otra desventaja de la programacin declarativa est relacionada con la eficiencia. Ventajas Entre las ventajas del paradigma declarativo se destaca que la solucin de un problema se puede realizar con un nivel de abstraccin considerablemente alto, sin entrar mucho en detalles de implementacin, lo que hace a la solucin ms fcil de entender por las personas.

El paradigma declarativo encuentra numerosas aplicaciones industriales en campos como las bases de datos, ingeniera del software, procesadores de lenguajes, lenguaje natural, investigacin operativa, seguridad de redes, etc.

You might also like