• [^] # Re: Premières impressions

    Posté par (site web personnel) . En réponse à la dépêche Rust 1.0, entrée dans la période stable. Évalué à 3.

    Une très bonne solution est dans le langage Sather https://fr.wikipedia.org/wiki/Sather

    Sather sépare la notion d'héritage et d'inclusion de code. Dans l'arbre des classes, on ne peux hériter que de classes virtuelles. Toutes les classes ayant du code sont forcément des feuilles d'extrémités. Pour ne pas tout ré-écrire, tu peux inclure du code qui est aussi une forme d'héritage... C'est très propre, clean et sans aucun risque.

    Bonus, le langage est contravariant et permet le surtypage et là, c'est très rare. En gros, tu te rends compte que A et B implémente tous les deux C, tu peux rajouter la liaison que A hérite de C et idem pour B, et cela marche ! C'est absolument génial car quelque soit l'arbre des classes, le ou les concepteurs ont toujours oublié un cas, surtout si tu mélanges plusieurs bibliothèques...