Ver Mensaje Individual
  #24 (permalink)  
Antiguo 08/04/2017, 13:40
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 3 meses
Puntos: 206
Respuesta: Programación Estructurada es obsoleta ??

No estoy nada de acuerdo con el último mensaje.

La evolución va a depender mucho de tu perfil de programador, de tu nivel, y del futuro.
Yo soy lo que se llama ahora un full stack developer, es decir, un programador web que lo mismo me paso un tiempo programando de front, com javascript, que me tengo que pasar al back, para meter alguna nueva funcionalidad al usuario de la web, o que lo mismo me tengo que meter a programar en un api, para tareas de complejas de negocio.

Como programador de front, si no estás al día con las nuevos frameworks y filosofías que se actualizan a menudo en javascript, estás muerto. A día de hoy puede que todavía sigas anclado en el viejo jQuery, quizá ni en su versión 2, pero cualquiera que sepa usar medianamente bien React y Redux, te limpia en 10 segundos.

Como programador de back, o de api, las tecnologías son de más duración. Si usas un Laravel o un Symfony, aunque no se actualiza tan a menudo, es tu deber estar al tanto cuando salen versiones nuevas, y es tu deber conocer los cambios, que por cierto, suelen ser para tu provecho. Pero hay un mundo alrededor de este tipo de programador. Estás obligado a usar alguna base de datos, así que deberás conocer mysql y algo de optimización de consultas. Redis, para cachear tus mierdas. RabbitMQ, si quieres comunicar servicios o ejecutar tareas de forma asíncrona. Elasticsearch, para guardar y acceder a "documentos" de forma mucho mas rápida que con cualquier base de datos relacional. Monolog y logstash, si quieres guardar trazas de lo que está pasando en producción. Node, para comunicación síncrona vía web sockets. Y así hasta el infinito, quizá cada tecnología no evolucione tan rápidamente como javascript para front, pero el ecosistema de un backend developer puede llegar a tener un tamaño descomunal.

En resumen, hay que correr mucho para quedarse donde estás. Si te quedas quieto unos años estás muerto, te conviertes en una antigualla de difícil reciclaje.


En cuanto al debate original, POO versus programación estructurada... Pues POO es la evolución de la programación estructurada. Ambos son paradigmas imperativos, y el cambio del estructurado al orientado a objetos lleva poco tiempo de aprendizaje. Si lo que quieres es sufrir un shock, intenta pasarte a la programación declarativa vía erlang, o en menor medida, python.

Hace ya 40 años, unos tipos que se consideraban la élite del mundo del desarrollo, crearon una colección de buenas prácticas para que el resto del planeta supiera cómo resolver de la forma mas eficiente, problemas comunes en nuestro mundo. Esos tipos crearon los primero e hyper famosos "patrones de diseño", y todos ellos son para la programación orientada a objetos, pues según ellos, era el mejor paradigma para programar las tareas comunes.

Y no me quiero meter de por medio en el mundo del testeo, donde las ventajas de usar POO están a años luz de cualquier otro paradigma.


¿Alguien conoce patrones de diseño en cualquier otro lenguaje imperativo?
No tengo más preguntas señoría.