¿Público/Protegido/Privado: Una Característica OOP Redundante?

2025-06-19

Este artículo cuestiona la necesidad de modificadores de acceso (público, protegido, privado) en la programación orientada a objetos. El autor argumenta que las interfaces y la herencia combinadas pueden lograr la misma funcionalidad sin necesidad de un mecanismo adicional. La existencia de modificadores de acceso podría deberse a un descuido en el diseño del lenguaje Simula, lo que lleva a una funcionalidad redundante. Para un código más limpio, el autor sugiere evitar los modificadores de acceso y aboga por la composición en lugar de la herencia.

Leer más

Herencia: Un truco de rendimiento accidental

2025-05-08

Simula inventó la herencia no para la reutilización de código o la extensibilidad, sino para resolver problemas con su recolector de basura simple y listas intrusivas. El recolector de basura de Simula era demasiado simple para manejar punteros a variables de pila; para evitar fallas, prohibió varios métodos de paso de parámetros, limitando la expresividad. Para usar listas intrusivas de manera eficiente, Simula inventó la "prefijación" (herencia), permitiendo que los objetos contuvieran directamente nodos de lista, evitando la asignación de memoria extra. Por lo tanto, la herencia fue inicialmente una optimización de rendimiento, no una piedra angular de la OOP.

Leer más