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

Entradas relacionadas: