Intermezzo - Paradigmas de programación
Contents
Intermezzo - Paradigmas de programación#
Important
Sección intermezzo
En esta sección nos daremos un respiro para estudiar conceptos importantes en el mundo de la programación, la idea es aclarar un concepto muy general, que ha sido ampliamente utilizado en diversas fuentes académicas, pero que muy frecuentemente es tergiversado porque no se entiende muy bien.
Los paradigmas de programación constituyen el conjunto de reglas y guías que se siguen para montar los diferentes estilos de solución que pueden ocurrir para ciertos problemas, veremos los más importantes, en que consisten y el tipo de problemas que resuelven.
Antes de definir a que nos referimos pensemos en el siguiente problema:
Note
Paradigmas de programación
Según las diferentes necesidades de los desarrolladores se ve conveniente diseñar ciertos tipos de solución, claramente, las soluciones pueden tomar diferentes caminos y regirse por varias reglas. Dichos diseños y reglas que rigen a la forma de solucionar el problema los llamaremos paradigma de programación. Más aún,
Un paradigma de programación indica las guías y métodos de realizar cálculos y la manera en que se deben estructurar y organizar las tareas que debe llevar a cabo un programa. Se asocian a cierto estilo de programación y al modelo de computación (operaciones permitidas) admitido en nuestro sistema.
Por ejemplo, si yo quisiera acceder a una lista con los primeros 5 enteros positivos y guardarlos en la variable Lista
tendría por lo menos estas dos opciones:
Ambos casos produjeron una lista con los primeros 5 enteros positivos. No obstante, la forma de solucionar este problema fue diferente, en la opción uno se indicó qué se iba a calcular. La solución se obtiene al declarar lo que requerimos y guardarlos en la variable Lista
. Por otro lado, en la opción 2 fuimos muy explicitos con la generación de la lista, practicamente se indico como se iba a construir la lista guardada en Lista
paso a paso, ayudados por un while
.
Estos enfoques hacen referencia a diferentes paradigmas de programación, pues estructuramos y organizamos las instrucciones para generar la Lista de manera muy diferente.
Tipos de paradigmas#
Si bien hay una cantidad considerable de paradigmas de programación, podemos identificar dos enfoques destacados:
Programación imperativa
Enfocada en explicar el cómo debe realizarse el cálculo, sigue una serie de instrucciones inmersas en un control de flujo explicito. En este caso, las variables son constantemente modificadas y representan el desarrollo del cálculo. Entre los diferentes paradigmas que se rigen según este enfoque se encuentran paradigma de programación estructurada y paradigma de programación modular:
Programación declarativa
Describe que se debe calcular, no hace referencia a métodos de evaluación y cada vez que se instancia una variable se vuelve inmutable. No requiere sentencias de asignación y el flujo se asocia a composición funcional, recursividad,reescritura y unificación. Entre estas se destacan el paradigma de programación funcional y el paradigma de programación lógica.
Cierre#
Si bien existen paradigmas como tipos de soluciones y parece que hay lenguajes enfocados a trabajar mejor con un paradigma dado, es el modelo de computación, la eficiencia del programa y las condiciones del problema lo que determina cuál de estos paradigmas es más conveniente. Afortunadamente Python es multiparadigma y permite que trabajemos con diferentes diseños de solución. En el siguiente módulo estudiaremos elementos de la programación estructurada, en particular definiremos las estructuras de control en Python y haremos algunos ejemplos.