Módulo 2: Fundamentos de Programación

Tema 2.5: Paradigmas de Programación

Los paradigmas de programación son estilos fundamentales de programación que definen cómo se estructuran y organizan los programas. Cada paradigma ofrece diferentes enfoques para resolver problemas computacionales, con sus propias ventajas, desventajas y áreas de aplicación específicas.

En este tema exploraremos los principales paradigmas, con especial énfasis en la Programación Orientada a Objetos (POO), que se ha convertido en el estándar para el desarrollo de software moderno y escalable.

Videos de Aprendizaje

2.5.1 Programming Paradigms

Introducción a los diferentes paradigmas de programación, incluyendo programación en ensamblador, procedural y otros enfoques fundamentales.

2.5.2 Paradigmas de programación

Visión general de los diferentes paradigmas de programación y sus características distintivas en el desarrollo de software.

2.5.3 Paradigma POO

Explicación detallada del paradigma de Programación Orientada a Objetos, sus principios fundamentales y aplicaciones prácticas.

2.5.4 Fundamentos de POO

Fundamentos esenciales de la Programación Orientada a Objetos, incluyendo conceptos clave y su importancia en el desarrollo moderno.

2.5.5 POO - Objetos y Clases

Explicación profunda sobre objetos y clases, los pilares fundamentales de la Programación Orientada a Objetos.

Contenido Adicional

2.5.6 Object Oriented Concepts

Conceptos avanzados de programación orientada a objetos en inglés, ideal para reforzar el aprendizaje con perspectiva internacional.

2.5.7 Intro to OOP

Introducción completa a la Programación Orientada a Objetos con ejemplos claros y aplicaciones prácticas.

2.5.8 ¿Qué es la POO?

Explicación accesible sobre qué es la Programación Orientada a Objetos y por qué es importante en el desarrollo de software.

2.5.9 POO explicada

Explicación detallada y completa de la Programación Orientada a Objetos con múltiples ejemplos y analogías.

2.5.10 Qué es la POO - Artículo

Artículo completo sobre Programación Orientada a Objetos que explica en profundidad los conceptos, principios y aplicaciones de este paradigma.

Leer Artículo Completo

Investigación Detallada

Programación Imperativa

Se basa en cómo se realiza una tarea mediante secuencias de comandos que cambian el estado del programa. Incluye: Programación procedural (funciones y procedimientos) y Programación orientada a objetos (objetos que encapsulan estado y comportamiento).

Programación Declarativa

Se enfoca en qué debe hacerse, no en cómo hacerlo. Incluye: Programación funcional (funciones puras sin efectos secundarios), Programación lógica (reglas y relaciones), y Programación por restricciones (especificación de condiciones).

Programación Orientada a Objetos (POO)

Organiza el software alrededor de objetos que combinan datos y comportamiento. Se basa en cuatro pilares fundamentales: Encapsulación, Herencia, Polimorfismo y Abstracción.

Programación Estructurada

Enfoque que evita el uso de GOTO y promueve estructuras de control claras: Secuencia, Selección (if/else), y Iteración (bucles). Facilita la legibilidad y el mantenimiento del código.

Programación Orientada a Eventos

El flujo del programa está determinado por eventos externos (clics de mouse, teclas, mensajes). Común en interfaces gráficas y sistemas reactivos. Utiliza manejadores de eventos y bucles de eventos.

Programación Concurrente y Paralela

Maneja múltiples tareas que se ejecutan simultáneamente. Concurrencia (ejecución aparentemente simultánea) vs Paralelismo (ejecución real simultánea). Usa hilos, procesos y mecanismos de sincronización.

Los Cuatro Pilares de la POO

  • Encapsulación: Ocultar los detalles internos de un objeto y restringir el acceso directo a sus datos
  • Herencia: Mecanismo que permite crear nuevas clases basadas en clases existentes, reutilizando código
  • Polimorfismo: Capacidad de objetos de diferentes clases de responder al mismo mensaje de manera específica
  • Abstracción: Simplificación de la realidad capturando solo los aspectos esenciales para el contexto
  • Clases y Objetos: Las clases son plantillas que definen atributos y métodos; los objetos son instancias concretas
  • Mensajes: Comunicación entre objetos mediante invocación de métodos
  • Modularidad: División del sistema en componentes independientes y cohesivos
  • Reutilización: Capacidad de usar código existente en nuevos contextos

Material de Lectura

Guía Completa del Tema 2.5: Paradigmas de Programación

Documento oficial con teoría detallada sobre todos los paradigmas de programación, con especial énfasis en la Programación Orientada a Objetos. Incluye ejemplos prácticos, comparativas entre paradigmas, ejercicios resueltos y mejores prácticas para la selección del paradigma adecuado según el problema a resolver.

Tema Anterior: 2.4 Triggers