Public/Protected/Private : Une fonctionnalité OOP redondante ?

2025-06-19

Cet article remet en question la nécessité des modificateurs d'accès (public, protected, private) en programmation orientée objet. L'auteur soutient que les interfaces et l'héritage combinés peuvent atteindre la même fonctionnalité sans avoir besoin d'un mécanisme supplémentaire. L'existence des modificateurs d'accès pourrait provenir d'une omission dans la conception du langage Simula, conduisant à une fonctionnalité redondante. Pour un code plus propre, l'auteur suggère d'éviter les modificateurs d'accès et préconise la composition plutôt que l'héritage.

Lire plus
Développement Modificateurs d'accès

Héritage : un hack de performance accidentel

2025-05-08

Simula a inventé l'héritage non pour la réutilisation du code ou l'extensibilité, mais pour résoudre des problèmes liés à son ramasse-miettes simple et à ses listes intrusives. Le ramasse-miettes de Simula était trop simpliste pour gérer les pointeurs vers des variables de pile ; pour éviter les pannes, il a interdit plusieurs méthodes de passage de paramètres, limitant l'expressivité. Pour utiliser efficacement les listes intrusives, Simula a inventé la « préfixation » (héritage), permettant aux objets de contenir directement des nœuds de liste, évitant ainsi l'allocation de mémoire supplémentaire. Ainsi, l'héritage était initialement une optimisation de performance, et non une pierre angulaire de la POO.

Lire plus
Développement ramasse-miettes