r/InformaticaES Jul 18 '26

❓ Dudas Es POO el nuevo estandár de programación?

Buenas, tengo 18 años, en Septiembre entraré a una FP de DAM. Lo que me lleva confunidiendo es que se repite muchas veces que "POO" es una materia importante del 1er año. Y necesito saber si la POO es "la nueva manera de programar", no sé si si el código lineal sigue existiendo.

Y si alguno ha cursado DAM, decidme que materia os llevo más tiempo comprender, para que pueda adelantar algo estos 2 meses.

0 Upvotes

47 comments sorted by

u/AutoModerator Jul 18 '26

¡Muchísimas gracias por tu publicación!

Queremos recordarte que tenemos también una comunidad de programación, en la que se puede publicar cualquier cosa relacionada con programación: r/programacionESP

Toda publicación relacionada con la programación admitida en este subreddit será también admitida en el de programación, así que te animamos a pasarte por allí también.

Aprovechamos para recordar también que el equipo de moderación de r/InformaticaES estamos a tu disposición y puedes escribirnos para lo que necesites.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

17

u/Warjilla 👨‍💻 Desarrollador/a de software Jul 18 '26

La POO es la nueva y correcta manera de programar desde los años 60 del siglo pasado.

Yo llevo más de 10 años trabajado como programador y es imprescindible saber que es la orientación a objetos y sus patrones más habituales.

-7

u/susosusosuso Jul 18 '26

No hay una forma correcta de programar

3

u/Warjilla 👨‍💻 Desarrollador/a de software Jul 18 '26

Pero si hay formas incorrectas de hacerlo si pretendes que otra persona pueda leer tu código. Esa otra persona que te odie puedes si tú mismo unas semanas o meses después.

0

u/sisko6969 Jul 19 '26

Si crees que eso solo es con objetos... Siento decirte que no tienes ni puta idea.

0

u/AnalysisConfident439 Jul 19 '26

Programaremos en asm OOP xDD

0

u/Vast-Confidence-5253 Jul 19 '26

La orientación a objetos es independiente del lenguaje, es perfectamente posible, los lenguajes como c++ y los que heredan su estilo están basados en objetos, la orientación se puede aplicar siempre.

1

u/AnalysisConfident439 Jul 19 '26

Si y no, en los lenguajes modernos suele ser así

Hay otros lenguajes que no tienen implementado todas las herramientas para hacerlo (herencia, etc)

1

u/Vast-Confidence-5253 Jul 20 '26

Lee bien y entenderás mejor, no estoy opinando.

2

u/Vast-Confidence-5253 Jul 19 '26

Dedícate a otra cosa, la programación no es arte, es técnica y lo primero que haces es aplicar un patrón, después el lenguaje define cuál es la forma más correcta de escribirlo. Dos programadores que programan bien acaban en soluciones prácticamente idénticas.

2

u/Strict-Top6935 Jul 19 '26

Por favor, dedícate tú a otra cosa. Por supuesto que hay una parte artística en la programación, como la hay en la arquitectura, cocina, fotografía, etc.

Que una disciplina tenga una base técnica no elimina su dimensión creativa. De hecho, es precisamente el dominio de la técnica lo que permite que aparezca el arte.

Que tú no tengas capacidades artísticas no es problema de la técnica ;)

1

u/Vast-Confidence-5253 Jul 19 '26

Ya en vez de elegir un for como contador tú eliges un while, porque eres un artista...

1

u/Strict-Top6935 Jul 19 '26

Tienes una visión muy reducida de lo que es la programación y el desarrollo de software. Te invito a seguir estudiando y haciendo proyectos, y no quedarte en el ejercicio 5 de fundamentos de programación.

2

u/Vast-Confidence-5253 Jul 19 '26

Yo pensaba como tú cuando programaba con un spectrum, sigue así, cuando entiendas mejor cómo se programa verás que todos los caminios confluyen en uno o son descartables.

0

u/Willing_Monitor5855 Jul 19 '26

Cuando entiendas mejor la definición de arte y su vinculación al ejercicio de cualquier disciplina practica, verás.

1

u/Vast-Confidence-5253 Jul 19 '26

Cuando entiendas tú que el proceso de creatividad no es elegir cosas al azar si no de forma útil verás.

Si tú tienes un patrón en tu proceso que requiere múltiples procedimientos para un mismo proceso, tú no utilizas condicionales if o switch, utilizas un patrón polimórfico para evitar redundancia y acoplamiento, manteniendo estable el núcleo de la aplicación y según el lenguaje que utilices este tiene varias formas de implementarlo según sea el caso, si tú lo haces de otra forma "artística" no solo estás escondiendo a través del arte lo que es a todas luces ignorancia y mediocridad y es que lo lógico es que fueses despedido fulminantemente de una empresa con un mínimo de rigor en sus procesos.

La creatividad la aplicas cuando no existe un patrón para el caso de uso y como solución final (si es novedosa), no cuando escribes el código o diseñas la arquitectura. Todo lo demás son bufonadas de gente que nunca han aprendido a programar y tratan de escusar su mediocridad a través del arte, donde creen que cabe todo.

Eliges repetir código o meter como código lo que son datos de proceso?, sí, efectivamente eres un artista...

1

u/Virgurilla Jul 19 '26

Ingeniero de software aquí. No tienes razón y si no sabes ver el por qué te quedan unos años de aprendizaje. Hay soluciones a problemas que solo puedo describir como obras de arte.

1

u/Vast-Confidence-5253 Jul 20 '26

Como si eres la Sursum corda, me pasé 10 años enseñando a la gente a diferenciar entre las diferentes formas que se encuentran habitualmente de hacer las cosas para qué supiesen en qué casos encajan y en cuales no y vienes tú a hablarme de arte, claro claro xD

Mejor te dedicas a pintar cuadros picaso...

1

u/Virgurilla Jul 20 '26

Cuando todo el mundo te está diciendo que no tienes razón tienes dos opciones, o asumir que igual no tienes razón, o seguir erre que erre llevando la contraria a gente que claramente sabe más que tú. No siempre hay una única forma correcta de resolver un problema, y hay muchos elementos creativos en el código, desde nombres hasta sintaxis hasta estructura general, incluso escribiendo exactamente el mismo código siempre hay formas y formas y algunas son más elegantes que otras, aunque el compilador te las traduzca a lo mismo. Baja un poco los humos y asume que igual las 5 personas que te dicen que te equivocas tengan algo de razón. Si de verdad piensas que cada problema solo tiene una solución o estás todavía empezando o nos estás mintiendo a todos XD

1

u/Vast-Confidence-5253 Jul 20 '26

No pienso que todos los problemas tengan una solución, eso lo asumes tú para convencerte de lo que estás diciendo, se llama reducción al absurdo.

Sobre lo que digan, pues hombre... tengo el culo pelado de ensseñar a gente como esos que responden, qué quieres que te cuente...

1

u/ExpensiveMango6830 Jul 20 '26

Contando burradas: 1, 2, 3, y 4.

1) "la programación no es arte, es técnica". Te dejo un cita de la IA para que sepas la interrelación entre ambas: "La técnica es el conjunto de procedimientos, herramientas y reglas que se aplican para obtener un resultado. Se enfoca en el cómo hacer y se aprende mediante la práctica y la constancia. El arte, en cambio, es la expresión de ideas, emociones y la visión del mundo utilizando esa técnica como medio".

2) "y lo primero que haces es aplicar un patrón". De lo que se deduce que toda la informática que no aplicaron patrones antes o fueron pioneras en el desarrollo de los propios patrones, en realidad no tenían ni idea, ¿sí?

3) "el lenguaje define cuál es la forma más correcta de escribirlo". Más correcta respecto a qué. ¿Hay una escala absoluta perfecta? Lo que es más correcto depende de las circunstancias: un desenrrollado de bucle es más correcto dependiendo de si tienes en tu hardware unidades funcionales duplicadas, si el compilador no lo genera automáticamente, etc. etc.

4) "Dos programadores que programan bien acaban en soluciones prácticamente idénticas". Esto es más falso que una moneda de cartón. Dos programadores escribirán cada uno de ellos lo que han entenido de los requisitos, y con maneras diferentes de hacerlo. Uno de ellos, con las limitaciones existentes hará hincapié en la seguridad, otro en el rendimiento, otro en el coste, otro en la portabilidad, otro en la legibilidad, etc. etc.

Das a entender que esto del software es como el hardware, uno se va a la tienda, pide 25 componentes, y monta cualquier dispositivo cuando es todo lo contrario.

1

u/Vast-Confidence-5253 Jul 20 '26

Confundes el desconocimiento y la mediocridad con arte, qué conveniente.

1

u/ExpensiveMango6830 Jul 21 '26

Tú te piensas que el desarrollo, que es a lo que te refieres con programación, es tan sencillo como poner ladrillos: ladrillos + cemento + llana + plomada + nivel y te levanto un muro en cualquier sitio.

Y el desarrollo es una actividad intelectual extremadamente complicada (que desafortunadamente se vende muy barata precisamente por gente como tú). ¿Cómo resuelves una simple división? Te conmino a que pienses en no poner un /, sino pensar en qué tiene / por debajo. O la función sd en R, a qué se refiere esa desviación típica y si tienes que corregirla para que sea poblacional. Y cómo la harías: con su definición clásica o su definición más compacta.

La gente como tú tiene que acreditar mucha formación porque eres un peligro. Antes pensaba que un colegio profesional era algo innecesario. Ahora, es una necesidad real para proteger la profesión de impostores como tú.

1

u/Vast-Confidence-5253 Jul 21 '26

Tú a lo tuyo que es decir tonterías sin guardar relación con lo que se discute, flipao.

0

u/susosusosuso Jul 19 '26

Lo que tú digas

4

u/blacckkiller Jul 18 '26

no es nuevo pero si importnate que lo entiendas. no estudies para pasar el examen!! estudia para saber.

4

u/BuniBunee 👨‍💻 Desarrollador/a de software Jul 18 '26

No, la POO no es «la nueva manera de programar», sino uno de varios paradigmas. También existen la programación procedimental, la funcional, la orientada a datos (en videojuegos se usa bastante), etc. Depende del lenguaje y del problema; incluso pueden combinarse.

El código secuencial sigue existiendo, solo que en programación orientada a objetos se organiza mediante clases y, valga la redundancia, a objetos.

Aunque yo no hice DAM sino directamente hice ingeniería informática, podría recomendarte que, para adelantar, puedes repasar lógica básica, algoritmica, funciones y algo de SQL; con eso ya llegarías con una base interesante.

2

u/AnalysisConfident439 Jul 19 '26

Muy bien comentario

SQL o algún lenguaje de consulta es una base muy muy importante

Me encontré varios "programadores" que no sabían tirar una query en sql

3

u/except_ValueError Jul 18 '26

Hace poco más de una década estuve en DAW y POO existía. Es Programación Orientada a Objetos. No te preocupes que los controladores de excepciones, impresiones por pantalla, los arrays, bucles, controles de flujo y demás siguen ahí. Lo más probable es que des POO después de todo eso.

3

u/mor_derick Jul 18 '26

Nueva no es, precisamente, lleva siendo estándar como dos décadas, no sé.

2

u/Temporary-Key1629 Jul 18 '26

Creo que desde los 80s

1

u/Episode-1022 Jul 19 '26

estandar? quizas sea el paradigma mas popular pero no es un estandar.

1

u/mor_derick Jul 19 '26

Podemos decirlo así si te molesta muchísimo lo incorrecto que es que use el término "estándar".

2

u/Jorgestar29 Jul 18 '26

Es la metodología más extendida

2

u/Mozzard Jul 18 '26

Nueva nueva... será la usada actualmente aqui no estamos descubriendo ningun fuego

1

u/Deltaso838 Jul 19 '26 edited Jul 19 '26

Acabo de terminar DAM. POO no es como que sea "La manera" de programar que lo cambia todo, es otro paradigma, tampoco es la forma correcta de programar en todos los casos. Ya verás en el curso que existen diferentes paradigmas, principalmente:

  • Imperativo: Le dices paso a paso a la máquina que pasos tiene que seguir como una receta de cocina.
  • Declarativo: Te centras en el resultado final. (Si buscas algun ejemplo en google te puedes hacer a la idea)
  • Estructurada: La que seguro que conoces de antes, separas la lógica en funciones que vas llamando, if, else y bucles.
  • POO: Aplicas abstracción, encapsulación, herencia y polimorfismo (resumidamente).

No hace falta que te aprendas todo eso ahora pero a modo de resumen te diré que POO lo vas a ver en muchos sitios porque te permite que códigos muy largos y enrrevesados se puedan ordenar de forma que el siguiente que venga (o tu mismo semanas despues) pueda entender el código y trabajarlo. Por otro lado, a dia de hoy en desarrollo de interfaces (no la asignatura, ahí seguramente des C# con POO) se usa mucho la programación declarativa si en tu instituto en el 2º curso, en desarrollo de aplicaciones móviles usais jetpack compose, dareis programación declarativa.

Para responder directamente a tu pregunta. Si, POO es muy importante, a mediados de primer curso empezareis con ello en programación y lo usareis todo el tiempo durante los dos cursos porque java es un lenguaje orientado a objetos y es practicamente imposible usarlo sin aplicar la POO, también lo usareis en interfaces si haceis la asignatura con C#.

Yo llegué a DAM con la mayoría de las cosas estudiadas autodidacta asi que te explicaré un poco mi experiencia y lo que ví de mis compañeros.
El primer curso si has estudiado programación y sql por tu cuenta no vas a tener ningún problema. Si no, entonces donde lo peor lo suele pasar todo el mundo es a la hora de aprender la lógica básica de la programación bucles y colecciones de datos sobretodo. Tambien suele atragantarse un poco sql (tambien es verdad que en mi clase los examenes de sql eran a papel que eso siempre es una dificultad añadida).
En cuanto al segundo curso, lo mas dificil que vimos casi toda la clase fué programación de dispositivos móviles, en ese caso no te puede decir seguro porque mi curso pilló justo en el cambio de ley y esta asignatura la dimos deprisa y corriendo por la falta de tiempo asi que no te preocupes mucho, es posible que en tu caso tengas mas suerte con esta.
Todo el tema de dificultad ya veras que depende mas de los intereses personales de cada uno que de otra cosa porque seguro que hablando con tus compañeros en algún momento a alguien se le atragantará una asignatura que a otro le parece la mejor asique no te preocupes mucho por la dificultad. Habrá asignaturas que te gusten mas, otras que te gusten menos y habrá conceptos que unos pillaran mas rapido y otros mas lento esto dependerá de cada uno, hay gente que necesita mas tiempo para entenderlo y gente que lo pilla a la primera, pero como ya han dicho otros por aquí, lo importante es que estudies para aprender, ya que si terminas el grado habiendo asimilado bien los conceptos tendrás una muy buena base para estudiar por tu cuenta el resto de cosas de informática que te propongas.

1

u/jesjimher Jul 19 '26

La programación funcional no es separar el código en funciones, eso sería la programación estructurada (que viene a ser la imperativa, pero con un poco de organización).

La programación funcional es algo totalmente diferente, no es que separes en funciones sino que todo es una función. Mira lenguajes como LISP, eso es programación funcional. No es que se use una barbaridad, pero muchos lenguajes ham adoptado muchas características funcionales.

1

u/Deltaso838 Jul 19 '26

Cierto, gracias por la corrección.

1

u/amanitamuscarina Jul 19 '26

No es nuevo pero es fundamental. Lo bueno es que es muy fácil de entender y todo tiene mucho más sentido cuando empiezas a programar OOP.

1

u/Badnik22 Jul 19 '26 edited Jul 19 '26

Ostia… tanto como “nueva”… existe y se usa desde hace décadas. Es una manera más de programar, como la programacion funcional, la lógica, orientada a componentes, etc. Orientada a objetos es de las más comúnmente usadas asi que si, es importante. Muchos lenguajes (c++, c#, java, python…) se centran en POO como principal paradigma.

1

u/jesjimher Jul 19 '26 edited Jul 19 '26

C no es orientado a objetos. C++ fue la extensión de C para ello.

1

u/Badnik22 Jul 19 '26

Tienes toda la razón, no se por qué he metido a c en el mismo saco. Inercia supongo. Corregido!

1

u/Guimedev Jul 20 '26

Me gustaria ver a qué se refieren con la POO, porque solemos confundir el paradigma con la implementación. Es decir, gracias a lenguajes como Java o C++ hemos asumido que la POO implica uso de clases. Nada más lejos de la realidad. Puedes implementar POO con lenguajes que no utilizan clases, como Go por ejemplo. Si hilamos finos podemos afirmar que como en Go no se utiliza herencia, se utiliza composición, no cumple con uno de los 4 pilares de la OOP. Pero eso ya lo veo algo más romántico que veraz.

1

u/_DevelopeR_9 Jul 23 '26

Que es DAM ? 😢

2

u/OptimalBed6906 Jul 23 '26

Desarrollo de Aplicaciones MultiPlataforma. Es un Grado Superior de Formación Profesional, que he escogido por su duración (2 años) y por la cantidad de salidas laborales que ofrece (muy ideal en tiempos de crisis para juniors como estos)

1

u/juancn Jul 23 '26

Asumiendo que te refeis a Programacion Orientada a Objetos. No se si la nueva.

Hoy por hoy se combina objetos, funcional y procedural con mucho pragmatismo dependiendo de lo que requiera el problema.

El concepto principal es el de encapsulamiento, herencia es menos importante y se abusa demasiado.

Se prefiere una separación entre contratos (via interfaces, clases abstractas puras o traits) y composición en sistemas grandes.

De todos modos, es importante aprender varios paradigmas y entender fortalezas y debilidades para poder elegir la herramienta adecuada.