Consultas

Solo disponible en BuenasTareas
  • Páginas : 18 (4282 palabras )
  • Descarga(s) : 0
  • Publicado : 20 de febrero de 2012
Leer documento completo
Vista previa del texto
Programación declarativa
La Programación Declarativa, en contraposición a la programación imperativa es un paradigma de programación 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 solución. La solución es obtenida mediantemecanismos internos de control, sin especificar exactamente cómo encontrarla (tan sólo se le indica a la computadora que es lo que se desea obtener o que 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 programación imperativa se describe paso a paso un conjunto deinstrucciones 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á mediantemecanismos internos de inferencia de información a partir de la descripción realizada.
Existen varios tipos de lenguajes declarativos:
* Los lenguajes lógicos, como Prolog.
* Los lenguajes algebraicos, como Maude y SQL
* Los lenguajes funcionales, como Haskell
Se ha dicho que los lenguajes declarativos tienen la ventaja de ser razonados matemáticamente, lo que permite el uso demecanismos matemáticos para optimizar el rendimiento de los programas.[1]
Son fiables, elegantes y expresivos.
Algunos lenguajes declarativos
* Haskell (Programación funcional)
* ML (Programación funcional)
* Lisp (Programación funcional)
* Prolog (Programación Lógica)
* F-Prolog (Programación Lógica Difusa)
* Curry (Programación Lógico-Funcional)

Programación imperativaLa programación imperativa, en contraposición a la programación declarativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al computador cómo realizar una tarea.
La implementación de hardware de la mayoría de computadores es imperativa;prácticamente todo el hardware de los computadores está diseñado para ejecutar código de máquina, que es nativo al computador, escrito en una forma imperativa. Esto se debe a que el hardware de los computadores implementa el paradigma de las Máquinas de Turing. Desde esta perspectiva de bajo nivel, el estilo del programa está definido por los contenidos de la memoria, y las sentencias soninstrucciones en el lenguaje de máquina nativo del computador (por ejemplo el lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas, pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos, a pesar de no ser programas de computadora, son también conceptos familiares similares en estilo a la programación imperativa; cadapaso es una instrucción, y el mundo físico guarda el estado (Zoom).
Los primeros lenguajes imperativos fueron los lenguajes de máquina de los computadores originales. En estos lenguajes, las instrucciones fueron muy simples, lo cual hizo la implementación de hardware fácil, pero obstruyendo la creación de programas complejos. Fortran, cuyo desarrollo fue iniciado en 1954 por John Backus en IBM,fue el primer gran lenguaje de programación en superar los obstáculos presentados por el código de máquina en la creación de programas complejos.
Algunos lenguajes imperativos
* ASP ; BASIC; C; Fortran ; Pascal; Perl; PHP; Lua; Java
Paradigma de programación
Un paradigma de programación es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es...
tracking img