La estructuración de la orientación a objetos
Definitivamente, es un peligro para todo programador conocer la orientación a objetos.
Cuando uno se inicia en la programación, estructura su cabeza para la programación estructurada (valga la redundancia). Aprende un lenguaje estructurado (como el maravilloso C) y desarrolla ahí todas sus ideas y programas. El programador se hace al uso del lenguaje y cómo debe construir los programas, conoce sus limitaciones y algunas veces a conseguido subsanarlas. Se convierte en un programación en el paradigma imperativo estructurado.
Sin embargo, llega el paradigma orientado a objetos, con todas sus virguerías y posibilidades (extensibilidad, modularidad, ocultación de la información). La OO revoluciona el campo de la programación y se implanta rápidamente porque se ve un buen camino a seguir para alcanzar un mayor grado de calidad y madurez en el software.
Bien, pero el programador estructurado que programa de maravilla ahora conoce la programación orientada a objetos y descubre que casi todas las limitaciones que antes tenía se han resuelto. Pero tiene un problema, ¿tiene que adaptarse y volver a aprender y usar un lenguaje orientado a objetos? Claramente tiene dos opciones:
- Aprender el nuevo lenguaje, adaptándose a la nueva nomenclatura y forma de programación y por supuesto empapándose el paradigma orientado a objetos.
- Seguir con su lenguaje estructura e intentar simular al paradigma orientado a objetos.
La verdad es que tiene su miga, y aunque para muchos resulte algo sin importancia, ayuda mucho al programador a conocer las diferencias entre los dos paradigmas y a cómo emular un paradigma en otro.
Pero ahí esta la cuestión: ¿Debería haber conocido el programador la orientación a objetos si ya era un profesional en el paradigma estructurado? Simplemente, hubiera sido más fácil no conocerlo, pero la curiosidad y ganas de aprender siempre rompen el saco.
La verdadera cuestión es: ¿Por qué debe adaptar el paradigma estructurado al orientado a objetos? Como programador que es, que aprenda estructurado y orientado a objetos. Y para determinados programas usar uno u otro. Pero eso ya es cuestión de cada uno y de su situación, pues si a uno le obligan a usar el paradigma estructurado no va a exigir más.
Nos vemos