Você está na página 1de 3

5.

- Programacin Declarativa vs Imperativa - Conceptos de ambas


La Programacin declarativa: Es un paradigma de programacin que est basado en el desarrollo de programas "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen un problema pero no las instrucciones necesarias para resolverlo. La solucin se obtiene mediante mecanismos internos.

La programacin imperativa:
Es un paradigma de programacin que describe la programacin en trminos del estado del programa y sentencias que cambian dicho estado. Se le debe de explicar a la computadora por medio de instrucciones detalladas cmo hay que realizar una tarea.

- Caractersticas y diferencias
Caractersticas de lenguaje declarativo
1. Se enfoca en el problema que se quiere solucionar, sin darle gran importancia a las instrucciones necesarias para ello. 2. Los programas estn formados por un conjunto de definiciones o ecuaciones 3. Las listas representan la estructura fundamental de datos. 4. Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se pueden tratar como argumentos de otras definiciones. 5. Slo existen valores y expresiones matemticas que devuelven nuevos valores a partir de los declarados. 6. Las variables slo pueden tener asignado un solo valor a lo largo de la ejecucin del programa (no hay asignacin destructiva) 7. El orden de la 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 8. El control de la ejecucin no es responsabilidad del programador. 9. Las variables son utilizadas con transparencia referencial 10. El uso del anidamiento y la recursividad tienen una gran importancia en este paradigma. 11. Las expresiones o definiciones pueden ser usadas como valores y por lo tanto se pueden tratar como argumentos de otras definiciones. 12. Tiene lmites de aplicacin debido a que est restringido al subconjunto de problemas para los que el interprete o compilador fue diseado

Caractersticas de lenguaje imperativo


1. Describe los pasos necesarios para solucionar un problema. 2. Las variables pueden actualizar su valor a lo largo de la ejecucin del programa 3. Presenta efectos laterales, es decir, que al realizar una operacin pueden existir cambios en variables globales, archivos, etc., que sobrevivan a sta. 4. Da al programador un control extensivo sobre el orden en el cual se ejecutan los enunciados en el programa. 5. No hay transparencia referencial debido a los efectos colaterales y la asignacin destructiva

6. Tiene lmites de aplicacin debido a que se ajusta nicamente a aquellos problemas de naturaleza algortmica clsica. 7. Cambia el estado del programa por medio de sentencias que definen pasos de ejecucin del computador 8. Se fija completamente el orden en el que se deben realizar las operaciones con ayuda de unos patrones de control del flujo de ejecucin

Diferencias
En la programacin declarativa se describe el problema que se quiere solucionar, pero no las instrucciones necesarias para solucionarlo. Esto ltimo se realizar mediante mecanismos internos Los programas declarativos incluyen menos detalles que sus contrapartidas imperativas. En los programas imperativos un porcentaje muy alto del cdigo est dedicado a controlar la secuencia de ejecucin del programa En un lenguaje declarativo no existen instrucciones de control. La repeticin se expresa mediante la recursin y la eleccin entre varias alternativas es ms abstracta. Los lenguajes declarativos ofrecen menores costes de desarrollo y mayor abilidad de los programas debido al menor nmero de lneas que son requeridas, lo que conlleva a un menor nmero de errores

- Ejemplos de lenguajes de programacin


Declarativos
Los lenguajes lgicos: Prolog F-Prolog Curry Los lenguajes algebraicos: SQL Maude Los lenguajes funcionales: Haskell ML Lisp Haskell HTML WSDL

Imperativos

BASIC C Fortran

Pascal Perl PHP Lua Java Python Go C++ C# Cobol Algol60 Pascal

- Tipos de proyectos de ambos

Você também pode gostar