miércoles, 6 de mayo de 2015

Programación declarativa

Podemos apreciar que la programación declarativa es la manera en que el programador decide que deber hacerse y como hacerse, gracias a que un programa lleva un análisis lógico, el programador puede crear cualquier programa basándose en como pensar, obteniendo de su entorno y alrededor la información necesaria para poder pensar, de esta manera el desarrollo lógico lo logra eficientemente ya que este es una materialización en código del lenguaje formal que manejamos a diario.


Para realizar un programa es necesario poder cumplir ciertos requisitos, que nos ayudaran a mejorar la lógica con que el programa será realizado, de esta manera pudiendo cumplirlos podremos crear un estupendo y maravilloso programa con una lógica excepcional, permitiendo que sea interpretado y estudiado de muchas maneras, tenemos como base que para crear un programa lógico adecuado necesitamos disponer de una lógica y de un lenguaje muy fluido y expresivo que nos permita obtener de manera operacional el ejecutar los programas que vamos creando.





Podemos disponer de una declaración semántica que nos permita obtener y dar un sentido y significado a los programas, siendo estos independientes en sus ejecuciones y funcionalidad, permitiendo así un desarrollo óptimo y eficaz, para llegar a obtener grandes resultados que podamos evaluar y también poder corregir el funcionamiento haciendo comparación completa de lo que en la realidad consideramos verdadero haciendo que coincida con el programa creado, para eso es la revisión y evaluación de cada corrección ejecutada.


En las tareas de programación podemos distinguir dos aspectos fundamentales:

  • Aspectos lógicos: Que debe computarse.
  • Aspectos de control: En qué orden y que memoria debe usarse.
Según Kowalski estos dos aspectos deben ser independientes. Atendiendo a esta independencia, podemos elevar algunas críticas sobre los lenguajes imperativos:

  1. Las instrucciones de control de flujo y gestión de memoria oscurecen el contenido lógico del programa.
  2. La asignación utiliza las variables de un modo matemáticamente impuro (con expresiones como x=x+1).
  3. No es lo más indicado dejar en manos del programador las cuestiones de control y memoria.
A pesar de todos estos puntos débiles, los lenguajes imperativos reúnen muchas ventajas como: eficiencia en la ejecución, modularidad, herramientas para la compilación separada y depuración de errores, etc. lo que los convierte en los lenguajes preferidos en amplias áreas de aplicación (computación numérica, gestión y tratamiento de la información, programación de sistemas...).



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. 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.


La programación declarativa es un estilo de programación en el que el programador especifica qué debe computarse y no cómo debe hacerse. Según este principio Kowalski define un programa como la unión de lógica y control (programa = lógica + control), donde el Componente lógico determina el significado, mientras que el de control solo su eficiencia. Así la tarea de programar se centra en la lógica, puesto que se asume el control automático a la máquina (García , 2008).

La característica fundamental de la programación declarativa es el uso de la lógica como lenguaje de programación:
  • Un programa es una teoría formal en una cierta lógica, esto es, un conjunto de fórmulas lógicas que resultan ser la especificación del problema que se pretende resolver.
  • La computación se entiende como una forma de inferencia o deducción en dicha lógica.

Los principales requisitos que debe cumplir la lógica empleada son:

  • Disponer de un lenguaje que sea suficientemente expresivo; 
  • Disponer de una semántica operacional (un mecanismo de cómputo que permita ejecutar los programas).
  • Disponer de una semántica declarativa que permita dar un significado a los programas de forma independiente a su posible ejecución.
  • Resultados de corrección y completitud para asegurar que aquello que se computa coincide con lo considerado verdadero.
No obstante, dependiendo del tipo de lógica existen varios estilos de programación declarativa: funcional (lógica ocupacional), relacional (lógica clausal), de tipos (lógica heterogénea), etc.



Un lenguaje de programación nunca es bueno para todas las tareas. Cada lenguaje tiene su dominio de aplicación.







___________________________________________________________________________________


En este segmento colocamos a su disposición las Diapositivas


0 comentarios:

Publicar un comentario