Diferencia entre revisiones de «Programación Declarativa»
(Página creada con '<div align="justify"> {{Definición |nombre= Programación Declarativa |imagen= Lenguajes.png |tamaño= |concepto= '''Programación Declarativa.''' La Programación declarativa...') |
(→Carácterísticas) |
||
Línea 34: | Línea 34: | ||
Son fiables, elegantes y expresivos. | Son fiables, elegantes y expresivos. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Resultados de corrección y completitud== | ==Resultados de corrección y completitud== |
Revisión del 19:42 26 abr 2011
|
Programación Declarativa. La Programación declarativa es un paradigma de programación basado en la lógica en el que se estudian de forma simple muchos aspectos avanzados de los lenguajes de programación modernos.
Sumario
Diferencias entre imperativo y declarativo
En la programación imperativa se describe paso a paso un conjunto de instrucciones que deben ejecutarse para variar el estado del programa y hallar la solución, es decir, un algoritmo en el que se describen los pasos necesarios para solucionar el problema.
En la programación 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 información a partir de la descripción realizada.
Aplicaciones
Este estilo de programación encuentra numerosas aplicaciones industriales en campos como las bases de datos, ingeniería del software, procesadores de lenguajes, lenguaje natural, investigación operativa, seguridad de redes, etc.
Ventajas
Se ha dicho que los lenguajes declarativos tienen la ventaja de ser razonados matemáticamente, lo que permite el uso de mecanismos matemáticos para optimizar el rendimiento de los programas.
- Elegancia, claridad, sencillez, potencia y concisión
- Semánticas claras, simples y matemáticamente bien fundadas
- Cercanos al nivel de abstracción de las especificaciones formales/informales de los problemas a resolver
- Referencialmente transparentes: Comportamiento matemático adecuado que permite razonar sobre los programas
- Soportan técnicas muy avanzadas de desarrollo, mantenimiento y validación de programas
- Altas dosis de paralelismo implícito
- Aplicaciones variadas y de gran interés
Son fiables, elegantes y expresivos.
Resultados de corrección y completitud
Según la clase de lógica que empleemos como fundamento del lenguaje declarativo obtenemos los diferentes estilos de programación declarativa.
Clase de lógica Estilo
- Ecuacional Funcional
- Clausal Relacional
- Heterogenea Tipos
- Géneros ordenados Herencia
- Modal S.B.C.
- Temporal Concurrencia
Algunos lenguajes declarativos
- Existen varios tipos de lenguajes declarativos:
Los lenguajes lógicos, como *Prolog (Programación funcional), *ML (Programación funcional), *Lisp (Programación funcional), *Curry (Programación Lógico-Funcional) *F-Prolog (Programación Lógica Difusa)
- Los lenguajes algebraicos, como Maude y SQL
- Los lenguajes funcionales, como Haskell, (Programación funcional)
==Fuentes [Programación Declarativa]
Referencias
En estas referencias encontrará recursos de utilidad:
- Lenguaje Prolog: Conceptos de Programación Declarativa
- Programación Declarativa
- [www.inf-cr.uclm.es/www/pjulian/teaching/sl_apPD.pdf Programación Declarativa]
- Programación Declarativa
- [Programación Declarativa
- Programación Declarativa
Vea además
Lenguajes de Programación]