Problèmes avec la programmation orientée objet dans Guile
Cet article explore les différences entre le système de programmation orientée objet de Guile Scheme, GOOPS, et le Common Lisp Object System (CLOS), en soulignant les lacunes de GOOPS. GOOPS manque de l'élégance et de la robustesse de CLOS dans plusieurs domaines clés : la spécialisation des setters ne se compose pas avec l'héritage, il manque les qualificateurs de méthode before/after/around, les algorithmes de combinaison de méthodes ne sont pas contrôlables, la spécialisation des arguments de méthode est limitée, les arguments de mots clés ne sont pas pris en charge et les chaînes de documentation sont absentes. L'auteur suggère des améliorations, telles que l'imitation du comportement de CLOS, l'ajout de qualificateurs de méthode et l'amélioration du mécanisme de spécialisation des arguments de méthode pour améliorer l'élégance du code et réduire les bogues.
Lire plus