Explorando los Paradigmas de Programación: Imperativo, OO, Funcional, Lógico y Scripting
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 3,98 KB
Paradigma Imperativo
- Describe cómo debe realizarse el cálculo de los resultados.
- Un cómputo consiste en una serie de sentencias, ejecutadas según un flujo de control explícito, que modifican el estado del programa.
- Las variables son celdas de memoria que contienen datos (o referencias), pueden ser modificadas y representan el estado del programa.
- La sentencia principal es la asignación.
- Asociados al paradigma imperativo se encuentran los lenguajes procedurales, modulares y la programación estructurada.
- Lenguajes representativos: FORTRAN-77, COBOL, BASIC, C, PASCAL, ADA, etc.
Paradigma Orientado a Objetos
- Describe cómo se organizan los programas en torno a objetos.
- Un objeto es una unidad que contiene datos o variables (que definen su estado) y las funciones o métodos que operan sobre esos datos (que definen su comportamiento).
- El estado de un objeto es privado mientras que su comportamiento es público (el correspondiente a la clase del objeto).
- Los programas se organizan en torno a objetos que intercambian mensajes (invocando a métodos de otros objetos) para obtener el resultado buscado.
- Principios de la POO: abstracción, encapsulamiento, polimorfismo, herencia, etc.
- Lenguajes representativos: Java, C++, C#, Eiffel, Python, etc.
Paradigma Funcional
- Basado en los modelos de cómputo cálculo lambda (Lisp, Scheme) y lógica combinatoria (ML, Haskell).
- Las funciones son elementos de primer orden.
- Evaluación por reducción funcional. Técnicas: recursividad, parámetros de acumulación, orden superior, etc.
-
Familia LISP (Common-Lisp, Scheme):
- Basados en s-expresiones. Ejemplo:
(defun factorial (x) (if (zerop x) 1 (* x (factorial (- x 1)))))
- Tipado débil.
- Basados en s-expresiones. Ejemplo:
-
Familia ML (Standard ML, Haskell, Scala):
- Sistema estricto de tipos (tipado algebraico).
- Concordancia de patrones.
- Transparencia referencial.
- Evaluación perezosa.
Paradigma Lógico
- Basado en la lógica de predicados de primer orden.
- Los programas se componen de hechos, predicados y relaciones.
- Evaluación basada en resolución SLD: unificación + backtracking.
- La ejecución de un programa consiste en la resolución de un problema de decisión, donde los resultados se obtienen mediante la instanciación de las variables libres.
- Lenguaje representativo: PROLOG.
Paradigma de Scripting
- Los programas se escriben para un entorno de ejecución concreto que permite automatizar la ejecución de tareas que, de forma alternativa, serían ordenadas para ejecutar una a una por un humano.
- Normalmente, los lenguajes de scripts son interpretados.
- Ciertos entornos de programación se pueden automatizar mediante el uso de scripts: aplicaciones software, páginas web en navegadores, intérpretes de comandos de sistemas operativos, etc.
- Los lenguajes de scripting están diseñados para su rápido aprendizaje y uso (como código fuente corto o de forma interactiva).
- Su sintaxis y semántica son relativamente simples.
- Lenguajes representativos: Perl, Ruby, JavaScript, Tcl, PHP, Python, etc.