Par exemple, il faut savoir que l'héritage de code et d'interface sont dissociés en Sather. Lorsqu'on dis qu'une classe hérite d'une autre, elle n'hérite que de l'interface. L'héritage de code doit être explcité avec le mot clef "include".
Ca fait bizarre la première fois mais dans les fait, c'est pas du tout génant, c'est même mieux car très clair. Et maintenant, pas mal de langage rajoute la notion d'interface à la notion de classe (Eiffel compris) quand elle n'ajoute pas aussi l'inclusion de code ! Bref, la aussi, Sather en séparant les rôles a finalement simplifié et se montre au final plus souple.
Pour en revenir à la fin de ton POST, il parait qu'il n'est pas facile de faire du code portable entre compilateur Eiffel. Ca ne l'aide pas non plus. A cela s'ajoute qu'Eiffel ne gère pas les "namespace" et ce point là est très génant si on veut avoir une grosse bibliothèque "a la CPAN". Le C s'en sors très bien sans mais pour des raisons historiques.
IIl parait que Benoit Sonntag n'est pas chaud pour rajouter cette fonctionalité dans Lisaac. S'il est vrai que cela n'a aucun intérêt technique pour le compilateur, ca a un intérêt social énorme pour les développeurs.
[^] # Re: Goûtez-y !
Posté par Sytoka Modon (site web personnel) . En réponse à la dépêche EiffelStudio devient un logiciel libre. Évalué à 2.
En voici un sorti de la documentation de Sather. Il est vrai qu'il vaut mieux comprendre un peu le système de type de Sather pour tout piger.
http://www.icsi.berkeley.edu/~sather/Documentation/EclecticT(...)
Par exemple, il faut savoir que l'héritage de code et d'interface sont dissociés en Sather. Lorsqu'on dis qu'une classe hérite d'une autre, elle n'hérite que de l'interface. L'héritage de code doit être explcité avec le mot clef "include".
Ca fait bizarre la première fois mais dans les fait, c'est pas du tout génant, c'est même mieux car très clair. Et maintenant, pas mal de langage rajoute la notion d'interface à la notion de classe (Eiffel compris) quand elle n'ajoute pas aussi l'inclusion de code ! Bref, la aussi, Sather en séparant les rôles a finalement simplifié et se montre au final plus souple.
Pour en revenir à la fin de ton POST, il parait qu'il n'est pas facile de faire du code portable entre compilateur Eiffel. Ca ne l'aide pas non plus. A cela s'ajoute qu'Eiffel ne gère pas les "namespace" et ce point là est très génant si on veut avoir une grosse bibliothèque "a la CPAN". Le C s'en sors très bien sans mais pour des raisons historiques.
IIl parait que Benoit Sonntag n'est pas chaud pour rajouter cette fonctionalité dans Lisaac. S'il est vrai que cela n'a aucun intérêt technique pour le compilateur, ca a un intérêt social énorme pour les développeurs.