🐘 Orientación a Objetos
¿Qué es el Paradigma Orientado a Objetos?
La programación orientada a objetos es un paradigma que nos permite agrupar propiedades y métodos relacionados en un concepto llamado objeto. Estos objetos son construidos a partir de un “esquema (blueprint)”, definido por el programador, conocido como concepto de Clase.
Es importante señalar que esta es una interpretación muy común del paradigma orientado a objetos en la industria actual. Sin embargo, no coincide con la visión original de la programación orientada a objetos propuesta por Alan Kay, en la que “todo es un objeto” y no existe el concepto de “clase” tal y como lo entendemos hoy en día.
En la visión de Alan Kay, cada objeto es una entidad autónoma con su propia memoria y comportamiento, que interactúa con otros objetos mediante el envío de mensajes. Estos mensajes representan la esencia que define a un objeto, como una casa o un auto, es decir, estos mensajes son los protocolos que debe cumplir ese objeto para poder ser un auto, un gato o lo que estemos representando.
Esta visión difiere de la interpretación moderna donde la clase es una plantilla que define las propiedades y métodos que tendrán todos los objetos de esa clase. En esta interpretación, los objetos son instancias particulares de una clase.
La desviación de la visión original puede ser vista como una respuesta a las demandas prácticas de la industria o quizás más bien diría yo por las tendencias de los lenguajes del momento que se hicieron conocidos con su forma de aplicar objetos de la manera no fundacional. Sin embargo, independientemente de la razón real detrás de esto, es útil recordar las raíces de la programación orientada a objetos para entender plenamente su propósito, potencial y muchas veces ver que el camino sería mucho más sencillo para muchos problemas si lo aplicaramos como venía fundacionalmente.
Estoy aprendiendo más sobre esta materia y espero poder escribir más sobre ella en el futuro. Creo que conocer esta otra cara de la moneda puede proporcionar una perspectiva valiosa también a nuestra forma de ver los problemas y formas de realizar diferentes soluciones.
En la próxima publicación, exploraremos la interpretación moderna de la programación orientada a objetos, con su enfoque basado en clases. Mostraremos cómo estas ideas se aplican en la práctica. ¡Esperamos que te unas a esta aventura! 🚀