La programación orientada a objetos (OOP) ha perdido popularidad en los últimos años. Lenguajes modernos como Go y Rust la han descartado por completo, e incluso en lenguajes que sí la soportan muchos desarrolladores prefieren ignorarla. Esta tendencia, sin embargo, refleja un error de apreciación: la OOP sigue siendo una herramienta poderosa para escribir código de calidad.
El artículo explica en qué consiste exactamente la OOP: un estilo de programación que combina datos y comportamiento dentro de unidades llamadas objetos, ocultándolos tras un mecanismo de paso de mensajes. Algunos lenguajes, como Java o C#, implementan ese paso de mensajes mediante llamadas a funciones; otros, como Ruby u Objective-C, lo aplican de forma más literal.
La principal virtud de la OOP, según el texto, es la creación de abstracciones potentes. Usando el ejemplo de una plataforma de streaming de vídeo, el autor muestra cómo un objeto «vídeo» puede ocultar reglas internas —como las restricciones geográficas— y responder únicamente al mensaje «reproducir». De este modo, los consumidores del código no necesitan conocer los detalles internos para utilizarlo, lo que reduce la carga cognitiva.
El texto también aborda las críticas habituales a la OOP, reconociendo que se trata de una herramienta potente pero fácil de malutilizar. Las malas abstracciones —como las jerarquías de herencia profundas o las factorías abstractas tan criticadas en Java— generan pesadillas de mantenimiento. Aun así, el argumento central es que abandonar la OOP por sus abusos equivale a renunciar a los cuchillos de cocina porque alguien se cortó: lo correcto es enseñar a usarlos con seguridad.
