Lenguajes Declarativos

Anuncio
2/24/2011
Programación Declarativa
Lenguajes de Programación – Jueves M4
Profr. Carlos Bernardo Garza
24 de febrero de 2010
Integrantes:
Jesús Antonio Soto Velázquez – 1570031
Luis David Corona Guerrero - 1446332
Paradigma Declarativo
 Basado en el pensamiento humano de las matemáticas.
 Elementos en conjunto: condiciones, proposiciones,
afirmaciones, restricciones, ecuaciones o
transformaciones que describen el problema y solución.
 No se especifica «cómo» llegar a la solución, sino el
«qué».
 Se utilizan mecanismos internos para llegar a la
solución.
1
2/24/2011
Características
 Conjunto de sentencias (no instrucciones).
 No se admite la asignación destructiva.
 Cualquier secuencia de ejecución conducirá al mismo
resultado.
 «programa = lógica + control» (Kowalski)
 El componente lógico determina el significado del
programa, mientras que el de control afecta su
eficiencia.
 Se enfoca en el uso de la lógica como herramienta.
Ventajas







Son razonados matemáticamente
Fiables
Elegantes
Expresivos
Cortos
Legibles
Paralelismo implícito
2
2/24/2011
Estilos
 Dependiendo de la clase de lógica empleada como
fundamento del lenguaje declarativo, se desprenden
diferentes estilos:
Estilo Funcional
 Programación Funcional.- Basada en el concepto
de función y su definición mediante ecuaciones.
 Se centra en la evaluación de expresiones
(funciones) para obtener un resultado.
Su teoría básica es el lambda cálculo, modelo de
cómputo eficiente.
Ejemplos: LISP, Hope, Haskell, Miranda, Mercury,
R.
3
2/24/2011
Lenguajes Lógicos
 Lenguajes de programación para modelar problemas
lógicos. Cada procedimiento puede ser interpretado
como una relación expresada por una proposición
lógica.
Considera:
programas = teorías
ejecución = búsqueda de pruebas
programación = modelización
 Ejemplos: PROLOG, Gödel, Mercury
Aplicaciones
 Principalmente aplicaciones industriales de campos
como:







Bases de datos
Ingeniería de software
Procesadores de lenguajes
Lenguaje natural
Investigación operativa
Seguridad de redes
Inteligencia Artificial
4
2/24/2011
Referencias Bibliográficas
http://www.monografias.com/trabajos38/tipos-lenguajesprogramacion/tipos-lenguajes-programacion2.shtml
http://elisa.dyndns-web.com/~elisa/teaching/prog/lenguajes/2010/
http://www.ii.uib.no/~bezem/Prolog_Tutorial.pdf
http://www.mozart-oz.org/documentation/tutorial/node12.html
http://babel.ls.fi.upm.es/teaching/prog_decl/Material/Slides/sesion1.pdf
http://www.inf-cr.uclm.es/www/pjulian/teaching/sl_apPD.pdf
http://www.cs.us.es/cursos/pd/temas/tema-14.pdf
http://es.wikipedia.org/wiki/Programaci%C3%B3n_declarativa
5
Descargar