Programación Estructurada o Programación Orientada a Objetos, ¿cuál estudiar y por qué?

manueldemeza 11/11/2025

Ruta de aprendizaje: Programación en C

Hola de nuevo, STEAMdiantes. Continuemos. Ya establecimos en nuestro artículo anterior que nuestro camino inicia con C, no con C++. Esa decisión de herramienta nos lleva inevitablemente a esta segunda pregunta, que es una decisión de filosofía: ¿Debemos aprender primero programación estructurada (PE) o programación orientada a objetos (POO)?

Te diré que esta pregunta es aún más importante que la primera. Elegir el lenguaje C ya nos da una pista, pero entender por qué el paradigma de C es la base de todo lo demás, es lo que forjará tu mentalidad de ingeniero.

No se trata de “cuál es mejor”. Esa es una pregunta de novato.

Imagina que quieres ser un chef ejecutivo, capaz de diseñar el menú y dirigir la cocina de un restaurante de clase mundial (un sistema de software complejo).

  • La programación estructurada (PE) es como aprender las técnicas de cocina fundamentales. aprendes a picar (función picar()), a saltear (función saltear()), a hervir (función hervir()). Aprendes a seguir una receta (un algoritmo) de principio a fin, paso a paso, en una secuencia lógica. Tus ingredientes (los datos) están en un tazón, y tú les aplicas tus funciones (las técnicas).
  • La programación orientada a objetos (POO) es como diseñar las estaciones de trabajo de la cocina. En lugar de tener un montón de técnicas sueltas, creas la “estación de salsas” (una clase salsas). Esta estación encapsula sus propios ingredientes (datos) y sus propias técnicas (métodos). La estación tiene una interfaz simple: “oye, estación de salsas, dame una bearnesa“. No necesitas saber cómo la hace, solo que la hace.

No puedes diseñar la “estación de salsas” (POO) si no sabes primero cómo hacer un roux y emulsionar una yema (PE). La lógica dentro de cada método de un objeto es, e inevitablemente será, programación estructurada. Un paradigma de programación es simplemente una “forma de pensar” sobre cómo estructurar tu código.

¿Qué es la programación estructurada (PE)?

Es el paradigma en el que se fundamenta C. Es la disciplina de construir programas usando tres (y solo tres) estructuras de control lógicas:

  1. Secuencia: el código se ejecuta línea por línea, de arriba hacia abajo.
  2. Selección: tomas decisiones y bifurcas el camino (if-else, switch-case).
  3. Iteración: repites un bloque de código (while, for, do-while).

La unidad fundamental de la PE es la función (el algoritmo). El enfoque es procedural. Tienes datos (guardados en structs) y tienes funciones que operan sobre esos datos. Los datos y las funciones viven separados.

¿Qué es la programación orientada a objetos (POO)?

Es el paradigma principal que C++ añade sobre C. Es una forma de gestionar la complejidad. En lugar de separar datos y funciones, los agrupa en una sola entidad llamada objeto.

La unidad fundamental de la POO es la clase (el molde). Una clase es un plano que define qué datos (atributos) y qué funciones (métodos) tendrá un objeto.

La POO se basa en cuatro pilares:

  1. Encapsulamiento: ocultar los datos internos (como pin_a) y solo exponer funciones públicas (como mover()). Protege el estado del objeto.
  2. Abstracción: simplificar la complejidad. El piloto de un coche no necesita saber sobre la combustión, solo necesita saber usar el “pedal de acelerar”.
  3. Herencia: reutilizar código creando clases “hijo” que heredan propiedades de una clase “padre” (ej. MotorPasoAPaso hereda de Motor).
  4. Polimorfismo: tratar a objetos de diferentes clases de la misma manera (ej. una lista de Motores puede contener MotorPasoAPaso y ServoMotor, y todos pueden responder a mover()).

¿Cuál primero?

La respuesta es obvia: debes dominar la programación estructurada primero.

La POO es una abstracción de la PE. la lógica fundamental de “cómo mover un motor” es un algoritmo, es programación estructurada pura. La POO solo te da un lugar limpio y organizado para guardar ese algoritmo. No puedes organizar lo que no sabes escribir.

El hardware es estructural. Cuando programas un microcontrolador, hablas con registros. Un registro es, en esencia, un struct glorificado. Escribir en un registro para activar un pin es una acción procedural (estructurada). Debes dominar esta base antes de poder soñar con “abstraerla” en una clase Pin.

Complejidad creciente. La PE te enseña a resolver problemas. La POO te enseña a gestionar soluciones complejas. Es el siguiente paso. Saltar a POO es como intentar escribir un libro sin saber escribir una oración.

Tu camino: aprenderás programación estructurada usando C. Dominarás las funciones, los if, los for, los struct y los punteros.

Luego, usarás C++ para aprender POO. Tomarás tu lógica estructural y la encapsularás en clases, aprendiendo a gestionar sistemas más grandes y complejos.

Siguiente lección: Historia del lenguaje C
Lección anterior: ¿Debo empezar a aprender a programar en C o en C++?

Gracias por leernos.
Si te gusto este artículo, únete a nuestra comunidad en Facebook o WhatsApp para más…
¡Hasta la próxima!

Etiquetas:
¿Te gustó este artículo? ¡Compártelo!

Comentarios

0 0 votes
Valora este artículo
Suscribirse
Notificarme de
guest
0 Comentarios
Oldest
Newest Most Voted
Inline Feedbacks
View all comments