Paradigmas de la programación
Programación Estructurada
La programación estructurada es como seguir un mapa para llegar a un destino.
Supongamos que querés ir de tu casa al parque Manuel Belgrano. Un mapa te muestra el camino a seguir, con instrucciones paso a paso:
- Salir de tu casa
- Caminar 3 cuadras hacia el norte
- Girar a la izquierda
- Caminar 2 cuadras hacia el oeste
- Llegar al parque
En la programación estructurada, el mapa es el código y las instrucciones son las líneas de código que se ejecutan una después de la otra, en un orden lógico.
El código se divide en bloques o módulos, como las secciones del mapa, y cada bloque tiene una función específica, como “caminar hacia el norte” o “girar a la izquierda”.
La programación estructurada te permite:
- Dividir el problema en partes más chiquitas y manejables
- Crear un plan lógico para resolver el problema
- Reutilizar bloques de código en diferentes partes del programa
De esta manera, el código es más fácil de leer, entender y mantener. Y, al igual que seguir un mapa, podés llegar a tu destino (la solución del problema) de manera eficiente y efectiva.
La programación estructurada se basa en tres herramientas fundamentales:
-
Secuencias: Son las instrucciones que se ejecutan una después de la otra, en un orden lógico.
-
Decisiones (o Condicionales): Son las instrucciones que permiten tomar decisiones basadas en condiciones específicas, como “si” o “si no”. Por ejemplo, “si es mayor de edad, entonces…”
-
Iteraciones (o Bucles): Son las instrucciones que se repiten mientras se cumple una condición específica. Por ejemplo, “mientras que la variable sea menor que 10, hacé tal cosa…”
Estas tres herramientas permiten controlar el flujo del programa y crear algoritmos lógicos y eficientes.
Además, la programación estructurada también utiliza:
- Subrutinas (o Funciones): Son bloques de código que realizan una tarea específica y pueden ser reutilizados en diferentes partes del programa.
- Estructuras de datos: Son contenedores que almacenan datos de diferentes tipos(“string”, entero, flotante, booleano, etc.) y permiten manipularlos en el programa.
Estas herramientas y conceptos permiten escribir código claro, organizado y fácil de mantener, que es el objetivo principal de la programación estructurada.
Programación Funcional
Imaginate que querés hacer una torta. En la programación funcional, cada ingrediente es una función que hace una cosa específica, como mezclar harina, agregar azúcar o batir huevos.
Cada función recibe ingredientes (entradas) y produce un resultado (salida). No cambia los ingredientes originales, solo crea un nuevo resultado.
Para hacer la torta, combinamos estas funciones en un orden específico, como una receta. Primero mezclamos harina, luego agregamos azúcar, después batimos huevos, etc.
En la programación funcional, no hay variables globales ni cambios de estado. Solo funciones puras que se combinan para producir un resultado final.
De esta manera, el código es más predecible, fácil de probar y de mantener. Y, al igual que una receta, podés reutilizar las funciones en diferentes combinaciones para crear algo nuevo.
Programación orientada a objetos(POO)
Pongamos el ejemplo de que estás creando un videojuego con personajes, como un guerrero o un mago. Cada personaje tiene características propias, como vida, fuerza o magia.
La programación orientada a objetos es como crear un molde o plantilla para cada personaje. Este molde se llama “clase” y define las características y habilidades del personaje.
Despúes, podés crear múltiples personajes a partir de ese molde, cada uno con sus propias características específicas. Estos personajes se llaman “objetos” o “instancias”.
Por ejemplo, podés crear un objeto “Guerrero” con 100 puntos de vida y 20 de fuerza, y otro objeto “Mago” con 50 puntos de vida y 40 de magia.
De esta manera, podés crear muchos personajes diferentes a partir de las mismas clases, y cada uno puede tener sus propias características y comportamientos.