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.

Développement ramasse-miettes