Ca fait plusieurs fois que tu professes l'opinion selon laquelle la contravariance serait meilleure (ça veut dire quoi, meilleure ?) que la covariance des arguments des routines héritées. J'avais moi-même raconté quelques âneries à ce sujet et j'avais été repris (par Julien Puydt, je crois) qui m'avait aiguillé sur un papier de Giuseppe Castagna dont le titre est covariance and contravariance: a conflict without a cause. http://www.di.ens.fr/~castagna/pub.frame.html
Si j'ai bien compris, l'avantage de la contravariance est qu'elle ne pose jamais de problème. Son inconvénient est qu'elle prive de toutes les possibilités où la covariance serait valide. Mantenant ce sont les compilateurs Eiffel qui analysent le code pour détecter les possibles catcalls. Choisir la contravariance comme l'ont fait les créateurs de Sather semble résulter d'une analyse, sinon simpliste, du moins manquant de finesse. On se prive de possibilités, de la même manière que d'autres langages n'implémentent pas l'héritage multiple, pour ne pas compliquer l'implémentation du compilateur.
Ceci dit, il est assez fréquent que j'entende parler de Sather là où se trouvent des discussions sur Eiffel. Existe-t-il des compilateurs Sather qui permettent de produire des applications de la vie réelle ? Y en a-t-il qui de plus proposent un environnement de développement avec quelques facilités ? Et y a-t-il des applications ou des services informatiques qui utilisent Sather ? Ces questions sont sans malice, j'avoue seulement mon ignorance dans ce domaine.
[^] # Re: Goûtez-y !
Posté par Philip Marlowe . En réponse à la dépêche EiffelStudio devient un logiciel libre. Évalué à 3.
http://www.di.ens.fr/~castagna/pub.frame.html
Si j'ai bien compris, l'avantage de la contravariance est qu'elle ne pose jamais de problème. Son inconvénient est qu'elle prive de toutes les possibilités où la covariance serait valide. Mantenant ce sont les compilateurs Eiffel qui analysent le code pour détecter les possibles catcalls. Choisir la contravariance comme l'ont fait les créateurs de Sather semble résulter d'une analyse, sinon simpliste, du moins manquant de finesse. On se prive de possibilités, de la même manière que d'autres langages n'implémentent pas l'héritage multiple, pour ne pas compliquer l'implémentation du compilateur.
Ceci dit, il est assez fréquent que j'entende parler de Sather là où se trouvent des discussions sur Eiffel. Existe-t-il des compilateurs Sather qui permettent de produire des applications de la vie réelle ? Y en a-t-il qui de plus proposent un environnement de développement avec quelques facilités ? Et y a-t-il des applications ou des services informatiques qui utilisent Sather ? Ces questions sont sans malice, j'avoue seulement mon ignorance dans ce domaine.