Paradigmas de Programación: Comparativa entre el Enfoque Imperativo y Declarativo
Clasificado en Informática
Escrito el en
español con un tamaño de 2,86 KB
Programación Imperativa: El Enfoque Orientado a la Acción
Los lenguajes imperativos están orientados a la acción, siguiendo el estilo de la máquina de Von Neumann. Es decir, contemplan la ejecución de una acción como una secuencia de operaciones sobre posiciones de memoria.
Los programas escritos con este tipo de lenguajes describen el “cómo” deben obtenerse los resultados de la máquina por medio de órdenes directas a ejecutar sobre esta.
Componentes Fundamentales
Las órdenes siempre son:
- Sentencias de asignación: Cambian el estado de una variable en memoria por un nuevo valor calculado.
- Sentencias de control de flujo: Generan cambios en la secuencia de ejecución de las asignaciones.
Características y Notación
Estos lenguajes son considerados eficientes y poseen una notación relativamente cercana al lenguaje natural. Su sintaxis se crea mediante la combinación de palabras en lengua inglesa, identificadores elegidos por el programador y signos comunes (como los operadores aritméticos o los paréntesis).
Ejemplos Históricos de Lenguajes Imperativos
Los ejemplos más notables de lenguajes imperativos a lo largo de la historia son:
- Fortran (1957)
- Algol (1960)
- Pascal (1971)
Programación Declarativa: El Enfoque del “Qué”
La programación declarativa se diferencia de la programación imperativa en que los programas declarativos describen el “qué” se desea obtener.
Todos los lenguajes declarativos se caracterizan por la expresión en un programa de lo que se desea conseguir sin especificar el cómo debe hacerse.
Paradigmas Incluidos en la Programación Declarativa
La notación y el alcance de los programas que se crean con los dos paradigmas que incluye pueden cambiar bastante:
Programación Funcional
Las tareas a realizar se modelan mediante funciones y expresiones, con ausencia de sentencias de procedimientos explícitos.
Ventajas y Desventajas
La programación funcional se consideró ineficiente y complicada desde sus orígenes debido al bajo rendimiento de las primeras implementaciones de los lenguajes. En cambio, ofrece grandes ventajas:
- Gran expresividad
- Extensibilidad
- Facilidad de corrección
- Falta de efectos laterales
Programación Lógica
Se utilizan hechos y relaciones entre ellos como medio para representar las tareas que se quieren realizar.
Ejemplos de Lenguajes Funcionales
El primer lenguaje de programación funcional fue LISP (McCarthy, 1959), que se basa en el procesamiento de listas. Le siguieron:
- APL (1962)
- ISWIM (1966)
- SCHEME (1975)