Post Actualizado en mayo 14, 2024
Paradigmas de la programación (Qué es y tipos)
¿Que es? Los paradigmas de la programación se le conoce como un estilo de desarrollo de programas. Paradigma de programación se le considera como una propuesta tecnológica que es adoptada por un conjunto de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados. Por lo cual […]
¿Que es?
Los paradigmas de la programación se le conoce como un estilo de desarrollo de programas. Paradigma de programación se le considera como una propuesta tecnológica que es adoptada por un conjunto de programadores cuyo núcleo central es incuestionable en cuanto a que unívocamente trata de resolver uno o varios problemas claramente delimitados. Por lo cual los lenguajes de programación, necesariamente, se encuadran en uno o varios paradigmas a la vez a partir del tipo de órdenes que permiten implementar, algo que tiene una relación directa con su sintaxis.
Además de eso es un modelo que nos permite resolver problemas computacionales, la resolución de estos problemas debe suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería de software.
En otras palabras tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. Además un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones que la sustituyen parcial o totalmente.
En conclusión se podría decir que: “Un paradigma de programación indica un método de realizar cómputos y la manera en que se deben estructurar y organizar las tareas que debe llevar a cabo un programa ”. Los paradigmas esenciales están asociados a determinados modelos de cómputo. También se asocian a un determinado estilo de programación. Los lenguajes de programación suelen implementar, a menudo de forma parcial, varios paradigmas.
¿Cuáles son los principales paradigmas de programación?
-
Imperativo.
- Describe cómo debe realizarse el cálculo, no el porqué.
- Los programas se componen de un conjunto de sentencias que cambian su estado.
- Un cómputo consiste en una serie de sentencias, ejecutadas según un control de flujo explícito, que modifican el estado del programa.
- Son secuencias de comandos que ordenan acciones a la computadora.
- Las variables son celdas de memoria que contienen datos (o referencias), pueden ser modificadas, y representan el estado del programa.
-
Lógico.
- Basado en la lógica de predicados de primer orden
- Los programas se componen de hechos, predicados y relaciones.
- El problema se modela con enunciados de lógica de primer orden.
- Evaluación basada en resolución SLD: unificación + backtracking.
- La ejecución consiste en la resolución de un problema de decisión, los resultados se obtienen mediante la instanciación de las variables libres.
- Lenguaje representativo: PROLOG
- Funcional.
- Evaluación por reducción funcional. Técnicas: recursividad, parámetros acumuladores, CPS, Mónadas.
- Los programas se componen de funciones, es decir, implementaciones de comportamiento que reciben un conjunto de datos de entrada y devuelven un valor de salida.
- Las funciones son elementos de primer orden
- Basado en los modelos de cómputo cálculo lambda (Lisp, Scheme) y lógica combinatoria (familia ML, Haskell)
- Orientado a objetos.
- El comportamiento del programa es llevado a cabo por objetos, entidades que representan elementos del problema a resolver y tienen atributos y comportamiento.
- se centran en la estructura y organización de los programas, y son compatibles con los fundamentales
- La programación orientada a objetos expresa un programa como un conjunto de objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas y módulos más fáciles de escribir, mantener, reutilizar y volver a utilizar.
-
Declarativo.
- Opuesto al imperativo.
- Los programas describen los resultados esperados sin listar explícitamente los pasos a llevar a cabo para alcanzarlos.
- Describe que se debe calcular, sin explicitar el cómo.
- No existe un orden de evaluación prefijado.
- Las variables son nombres asociados a definiciones, y una vez instanciadas son inmutables.
- No existe sentencia de asignación.
- El control de flujo suele estar asociado a la composición funcional, la recursividad y/o técnicas de reescritura y unificación.
En otras palabras, cada paradigma es ideal para la resolución de un conjunto de problemas particular, por lo que no puede decirse que uno sea necesariamente mejor que otro.
Por eso se mezclan todos los tipos de paradigmas a la hora de hacer la programación. De esa manera se hace la programación multiparadigma, pero el más usado de todos esos paradigmas es el de la programación orientada a objetos.