Une nouvelle version stable de SmartEiffel

Posté par  (site web personnel) . Modéré par Jean-Yves B..
Étiquettes :
0
17
juin
2003
GNU
Les auteurs du compilateur Eiffel GNU, SmartEiffel, ont sorti hier (le 16) la version 1.1 -dite "Charlemagne"- de leur logiciel.

Les améliorations sont nombreuses, parmi lesquelles on peut noter le support d'Unicode, diverses optimisations du code généré (en C ou en bytecode Java), et l'intéressante apparition d'une implémentation (encore au stade alpha cependant) du Design Pattern Visitor.

Pour rappel, nous devons le langage Eiffel à B. Meyer. Sa conception remonte à 1985, et a été pensée de manière à exploiter la programmation objet de façon la plus "pure" possible.
Le projet SmartEiffel quant à lui, a débuté officiellement en 1995 (initialement sous le nom de SmallEiffel) sous l'impulsion d'enseignants-chercheurs de l'Université de Nancy, afin d'offrir une alternative performante aux compilateurs commerciaux.

Aller plus loin

  • # Re: Une nouvelle version stable de SmartEiffel

    Posté par  (site web personnel) . Évalué à 5.

    Ah enfin une news sur un vrai langage pour nous les hommes, ça change des news sur java

    --
    ne me moinssez pas, je viens tout juste de retrouver mon droit de vote!!
  • # Re: Une nouvelle version stable de SmartEiffel

    Posté par  . Évalué à 3.

    des liens du genre "Thinking in" / "Dive into" Effeil ?
  • # Inria

    Posté par  . Évalué à 0.

    c'est moi ou l'institut national de la recherche en informatique appliquée n'applique pas la loi Toubon ?

    le site officiel de Smart eiffel est tout en anglais sans une version Française ou je me trompe ?

    Je dis ça parce que on a la seule langue au monde à avoir un vocable spécifique pour ordinateur - à la place de computer.
    je ne ferai pas l'affront aux éminents esprit qui trainent leur regards usés, mais néanmoins sagaces, par ici de traduire et d'insister sur l'importance de cette difference lexicale.

    Nous avons aussi une langue plus précise et plus simple à bien maitriser que l'anglais. Mais il est bien évident que ça n'a pas la moindre importance parce que GW BUSH ne lit que l'anglais, n'est-ce pas ?
    Et puis au cas où un jeune de banlieue voulait marcher sur nos pate bandes ça lui ferait toujours ça à apprendre en plus.

    Moinnsser moi, moinsser moi crient les champignons
    • [^] # Re: Inria

      Posté par  . Évalué à 0.

      Pardon
      Institut National de Recherche en Informatique et Automatique
      (ça a toujours été ça ? oui sans doute )

      Je répète le moins c'est notre liberté - vous n'êtes pas d'accord :
      moinssez le plus c'est pour les béni oui oui )
      • [^] # Re: Inria

        Posté par  . Évalué à 3.

        C'est bientôt fini le coup de gueule? De voir un site français écrit en anglais, ça te met en rogne, je te comprends.

        Mais que ça ne devienne pas de la provocation pure et simple, en sortant des bêtises énormes (je ne développerait pas, mais, comme exemple : quel rapport avec les jeunes des banlieues? Avec GWBush?)

        Merci

        --
        Remuz
        • [^] # Re: Inria

          Posté par  . Évalué à 0.

          Bon ben pis que je peux pas voter : [-] :) <- t'as pas encore compris que ça servait pas à ça le vote !!!

          Certains jeunes des banlieues (sans faire de généralisation ni d'idées reçues) ont déja du mal à s'en sortir avec la langue de Molière, alors si en plus les sites français n'existent plus que sous la langue de Shakespeare, cela met déja une double barrière. Déja que le vocabulaire dans le domaine informatique est pour le moins obscur (ça fait plus jargon et donc pro qui s'y connais), alors si en plus on ne fait plus que de l'anglais même en France, on ajoute des barrières à l'accessibilité de cet outils ... qui sont déja cher (pour le porte monnaie).
          Maintenant je suis d'accord que le GWB ça fait un peu provoc. (m'enfin c'est marrant quand même)

          Caeies, second degré quand tu nous tiens ....
          • [^] # Re: Inria

            Posté par  . Évalué à 0.

            > Certains jeunes des banlieues (sans faire de généralisation ni d'idées reçues) ont déja du mal à s'en sortir avec la langue de Molière,

            Tiens, une idée reçu et une généralisation dans la même phrase ! :)

            > le vocabulaire dans le domaine informatique est pour le moins obscur (ça fait plus jargon et donc pro qui s'y connais)

            Oh, encore une idée reçue !
            • [^] # Re: Inria

              Posté par  . Évalué à 1.

              Ben mon pote j'ai vécu avec des jeunes de balieue (en fait j'en ai été un ) et aussi avec des pros de l'informatique :

              je t'assure que les idées que j'ai si je les ai reçues c'est pas par un milieu socio professionnel - désolé pour les tiennes

              je t'accorde que c'est simplificateur comme expression "jeunes de banlieue" - le malheur c'est qu'effectivement il est plus difficile d'apprendre les "codes" sociaux , et a fortiori les langues quand on est dans un milieu socio-culturel pauvre.

              Les barrieres de langue Sont une stratégie de sélection d'auditoire , que ce soit conscient ou implicite. il n'est d'ailleurs pas nécessaire de passer par une langue étrangère pour celà : ça se pratique trés bien dans les villages par un lexique spécifique aux habitants, et dans les familles avec les "private joke".
              En fait dans la plupart des contextes ce n'est pas gènant. Ca l'est quand ce n'est pas délibéré, par négligence donc dans des publications de grande audience,
              et,
              quand c'est un barrrage délibéré d'une élite.

              Dans quelle case peut-on mettre le site de Smart Eiffel (INRIA) ?

              Bon - mon propos était de provoquer des gens intelligents et ils ont réagi, c'est un bon résultat, continuons le combat.
          • [^] # Re: Inria

            Posté par  . Évalué à 1.

            pour l'ensemble de ton post : bisou (je ne peux voter )
            Se sentir compris un peu c'est agréable

            Jeunes de toutes les banlieues de tous les pays
            Unissez vous et exigez qu'on parle français !!!
            Latin ou espagnol à la rigueur.

            mais pas ce dialecte de Bastard William (Guillaume le Batard avant d'etre le Conquérant)
    • [^] # Re: Inria

      Posté par  . Évalué à 5.

      c'est moi ou l'institut national de la recherche en informatique appliquée n'applique pas la loi Toubon ? Toubon, il a oublié d'embaucher des traducteurs avec sa loi. En tant que chercheur (pas à l'INRIA), j'ai pas que ça à foutre que de faire mes pages en deux langues. Donc je préfère les faire en anglais en sachant que je serai compris par plus de monde. Incroyable n'est-ce pas? Je dis ça parce que on a la seule langue au monde à avoir un vocable spécifique pour ordinateur - à la place de computer. Ah oui, tu connais toutes les langues vivantes actuelles? Nous avons aussi une langue plus précise et plus simple à bien maitriser que l'anglais. Et comment tu le démontres ça? Et puis au cas où un jeune de banlieue voulait marcher sur nos pate bandes ça lui ferait toujours ça à apprendre en plus. Arf', merci pour les jeunes de banlieue, dont moi y en a faire partie (moi y en a pas encore avoir compris syntaxe français, alors anglais très compliqué, c'est sûr!).
      • [^] # Re: Inria

        Posté par  . Évalué à 0.

        Il se trouve qu'il ya des gens dont c'est le métier d'étudier les langues. Bon tu n'as pas accès à toutes les connaissances, c'est pas grave.
        Les outils informatiques computer/ordinateurs se sont beaucoup développés au 20eme siecle , les mots par lesquels ils ont été identifié dans à peu prés toutes les langues sont venus des pays qui avaient quelque chose à dire là dessus au début.
        Il n'y a que deux langues où on a "créé" des mots pour désigner ces inventions. les autres ont importé les mots avec les machines ou les bouquins (comme fast-food en français - on n'a pas de mot pour ça on prend l'américain)

        La maitrise de l'anglais est "réputée" facile pour atteindre un niveau correct de communication, on le baragouine sans peine mettons.
        Par contre pour y étre bon il faut intégrer les anglicisme et l'orthographe/prononciation non rationnelle, ce qui est réputé trés difficile pour un non anglophone.
        Le français en contient moins, mème si on pourrait faire mieux.

        Pour la précision cette idée je la tiens d'anglophone de ma connaissance et que tu ne connais pas, mème de nom - fais toi ton idée par toi mème.

        Pour ton cas ce qui me semble évident c'est que tu es un peu bebete de prétendre que connaitre 2 langues est plus simple qu'en connaitre 1 et que d'apprendre une langue que personne autour de toi ne parle volontiers (mettons qu'il y en ait qui le parle ...) est aisé.
        Ca ne l'est pas pour moi en tout cas. ;)
        • [^] # Re: Inria

          Posté par  . Évalué à 1.

          Il se trouve qu'il ya des gens dont c'est le métier d'étudier les langues. C'était bien mon propos: fais-tu partie des linguistes pour faire des affirmations aussi péremptoires que celles que tu fais sur la facilité/difficulté de telle ou telle langue? Peux-tu m'indiquer des références sur le web confirmant tes dires? Ou es-tu juste capable de dire que t'as un copain anglophone qui t'as dit ça, bel exemple de démonstration! Il n'y a que deux langues où on a "créé" des mots pour désigner ces inventions. les autres ont importé les mots avec les machines ou les bouquins (comme fast-food en français - on n'a pas de mot pour ça on prend l'américain) Mais il ne suffit pas que tu le dises pour que ce soit vrai. Donne des exemples significatifs. Par exemple, quels vocables les langues allemande, arabe, chinoise, russe, hébreux, japonaise, wolof, etc, utilisent-elles? Malgré les provocations qui émaillent ton texte, je reviens au véritable problème: il y a dans le monde plus de gens, et notamment de chercheurs, qui parlent anglais que français. Comme mon boulot est de faire de la recherche et pas de la traduction de pages web, je préfère directement écrire mes pages en anglais de façon à être compris du plus grand nombre (sachant aussi que les chercheurs français en informatique parlent généralement anglais, et comprennent en tout cas l'anglais technique). La loi Toubon sera appliquée quand l'État donnera les moyens aux gens de donner des versions bilingues de leurs productions.
  • # Et le Troll, il arrive quand ?

    Posté par  . Évalué à 3.

    Eiffel c'est mieux que java et C#, y'a l'héritage multiple et la prog par contrats, la rétention des descendants et la covariance !
    • [^] # Re: Et le Troll, il arrive quand ?

      Posté par  . Évalué à 1.

      Note que pour Java, les defendeurs de Java affirment que les interfaces sont mieux que l'héritage multiple, ce que je trouve gonflé car interface == héritage d'une classe abstraite, donc les interfaces ne sont qu'un cas particulier de l'héritage, moins souple.

      Pour la covariance, c'est amusant mais ça m'évoque tout de suite les interminables discussion sur les Newsgroup entre covariance et contravariance :-).

      Sinon, qu'est-ce que c'est la "rétention des descendants"?
      • [^] # Re: Et le Troll, il arrive quand ?

        Posté par  (site web personnel) . Évalué à 1.

        > les defendeurs de Java affirment que les interfaces sont mieux que l'héritage multiple,

        Ils n'ont pas tord.

        Une interface ne change pas la taille de l'objet par exemple. Or, en C++, quand tu as de l'héritage multiple avec des données, le cast de pointeur vers l'un ou l'autre des parents entraine un décallage d'addresse, qui fout la merde dans bien des cas. Par exemple, (parent *)x va marcher là ou (parent *)(void *)x va faire un segfault.

        Le C++ n'est pas capable de faire le lien entre une implémentation héritée d'un parent et une méthode virtuelle pure héritée d'un autre parent. Il dit toujours que la méthode n'est pas implémentée.

        En Java, on est sur de ne jamais avoir de problème si la hierarchie de classes est un DAG.
        • [^] # Re: Et le Troll, il arrive quand ?

          Posté par  . Évalué à 4.

          Pour mémoire, le sujet de la news est SmartEiffel, donc Eiffel. Tu parles de problèmes qui ne sont pas communs à tous les langages objet supportant l'héritage multiple, mais seulement à C++ qui permet de coder en orienté objet. L'arithmétique des pointeurs n'a carrément pas de sens en Eiffel. Les cast sont typiquement C++.

          Bref condamner l'héritage multiple en prenant C++ pour exemple ne permet pas une démonstration rigoureuse.
        • [^] # Re: Et le Troll, il arrive quand ?

          Posté par  (site web personnel) . Évalué à 2.

          > les defendeurs de Java affirment que les interfaces sont mieux que l'héritage multiple,
          C'est plus de la méthode Coué qu'autre chose.
          Il y a des patterns basés sur l'héritage multiple (PAC Amodeus par exemple, pour les IHM), et il faut gruicker dans tous les sens pour pouvoir les implémenter en Java.

          Le C++ n'est pas capable de faire le lien entre une implémentation héritée d'un parent et une méthode virtuelle pure héritée d'un autre parent.
          Si l'implémentation de l'héritage multiple en C++ est pourrie, il ne faut pas en déduire pour autant que l'héritage multiple est pourri... il y a d'autres langages qui s'en sortent très bien.
        • [^] # Re: Et le Troll, il arrive quand ?

          Posté par  . Évalué à 1.

          Et le Troll, il arrive quand ?
          Ça vient, ça vient...

          C'est pour ces cas problématiques d'héritage multiple que l'héritage virtuel existe en C++.

          Comme cela a été souligné plus haut, les philosophies de C++ et des autres langages objet dont fait partie Eiffel sont radicalement différentes : l'idée maîtresse en C++ est que ce qui n'est pas utilisé ne doit rien coûter, d'où une forte complexité syntaxique et un plus grand travail de la part du programmeur parce que certains choix n'auront pas été faits par avance pour lui. Rien ne t'oblige à utiliser des fonctionnalités qui posent problème, et si tu le fais tu es censé le faire en connaissance de cause (par exemple C++ est à ma connaissance le seul langage permettant de faire de l'héritage générique, ce qui n'est pas sans risque si le programmeur ne sait pas ce qu'il fait).

          Bref pour faire une analogie trollesque, C++ est l'équivalent d'un système d'exploitation où tu peux tout configurer dans les moindres détails et où tu as accès à des fonctionnalités rares ou cachées, à opposer à des langages qui occultent certains détails pour obtenir une vue de plus haut niveau et où tu as moins de chances de faire des conneries.
    • [^] # Re: Et le Troll, il arrive quand ?

      Posté par  . Évalué à 1.

      Tant qu'à troller, autant le faire sur le thème covariance / invariance / contravariance. Peut-être que des épigones de Sather vont se manifester.

      Pour ma part, ce débat me passe souvent largement au-dessus de la tête, sauf pour au moins un aspect : l'affirmation la contravariance résoud tous les problèmes. Il suffit de montrer par un exemple que ce n'est pas vrai.

      Prenons une classe FOO quelconque avec une fonction de type booléen is_equal (other: FOO). Y a-t-il un chantre de la contravariance qui peut m'expliquer comment on se débrouille avec les héritiers de cette classe pour garder à cette fonction le même sens ?

      Sur ce (peut-être) bon troll.
      • [^] # Re: Et le Troll, il arrive quand ?

        Posté par  . Évalué à 2.

        La question de la variance est devenue "idéologique". On devrait se contenter de faits mathématiques: la covariance des paramètres pose des problèmes dans le cas de la redéfinition de méthode.

        Y a-t-il un chantre de la contravariance qui peut m'expliquer comment on se débrouille avec les héritiers de cette classe pour garder à cette fonction le même sens ?

        L'exemple que tu donnes ici est celui d'une méthode "binaire", cas particulier pour lequel on sait que ça marche. C'est d'ailleurs ce qu'on appelle MyType dans la plupart des langages à objets modernes (i.e de la recherche).

        Cela dit, ça fait un bail que ces problèmes ont été très bien analysés, notamment par G. Castagna (http://www.di.ens.fr/~castagna/(...) ) et son super article "Covariance and contravariance: conflict without a cause" (ftp://ftp.di.ens.fr/pub/users/castagna/covariance.ps.Z(...) )
        • [^] # Re: Et le Troll, il arrive quand ?

          Posté par  . Évalué à 1.

          Merci pour les liens.

          Ceci dit le titre du thread est : Et le Troll, il arrive quand ?. Comme Nicolas Raynaud semble vouloir un troll, je fournis un sujet possible.

          Ca fait deux ans que j'utilise Eiffel au travail, et le problème de la covariance / contravariance ne s'est jamais posé pour moi. Ce sont, à ma connaissance, les fondateurs de Sather, langage issu de Eiffel, qui ont prétendu que l'utilisation de la contravariance renforçait la sécurité du code. L'exemple que je fournis plus haut montre que cela pose problème avec un cas trivial : si l'argument de la comparaison avec l'objet courant ne peut pas varier dans le même sens que celui-ci, la comparaison (est-ce que cet objet est égal à l'objet courant ?) ne fonctionne plus avec les héritiers. Il va de soi que la bonne manière de déclarer l'argument de la fonction est :
          is_equal (other: like Current): BOOLEAN is require préconditions do ensure postconditions end
          Ceci évitant d'avoir à redéfinir la comparaison pour les héritiers.
          • [^] # Re: Et le Troll, il arrive quand ?

            Posté par  . Évalué à 3.

            Ce sont, à ma connaissance, les fondateurs de Sather, langage issu de Eiffel, qui ont prétendu que l'utilisation de la contravariance renforçait la sécurité du code.

            Non, non, il s'agit d'un résultat général connu des théoriciens des langages de programmation, ce n'est absolument pas spécifique à Sather.

            Dans un système de types avec sous-typage, on cherche à savoir quand on peut redéfinir ou pas une méthode, et quelles sont les contraintes à avoir sur les types des méthodes pour que le programme soit bien typé. On se trouve là en présence d'un problème indécidable. Mais, si on restreint la redéfinition à la contravariance sur les paramètres, alors on sait que le programme sera bien typé.

            Ça ne veut pas dire que toute forme de covariance est à proscrire, simplement qu'il y a des cas où ça produira des programmes acceptés par le compilateur qui produiront quand même une erreur de type.

            Un exemple que certaines formes de covariance sont acceptables, tu le donnes: c'est l'exemple des méthodes "binaires" (style is_equal). En fait, on sait qu'on peut accepter toutes les méthodes avec contravariance et toutes les méthodes binaires.

            Le problème d'Eiffel, c'est qu'il permet plus que les méthodes binaires, car on peut employer like avec autre chose que Current, et obtenir ainsi des méthodes avec covariance, qu'Eiffel acceptera, peut-être à tort.

            Ca fait deux ans que j'utilise Eiffel au travail, et le problème de la covariance / contravariance ne s'est jamais posé pour moi.

            Mais ça tu n'en sais rien justement! Tu peux juste dire que, pour toutes les exécutions de tes programmes Eiffel utilisant la covariance, il n'y a pas eu de plantage. Mais rien ne te garantit plus que ça n'arrivera pas avec certaines données que tu n'as pas encore testées.

            C'est justement le principe du typage fort que de te garantir qu'il n'y aura jamais d'erreur de type.
    • [^] # Re: Et le Troll, il arrive quand ?

      Posté par  (site web personnel) . Évalué à 1.

      > a rétention des descendants et la covariance !

      C'est quoi ?
    • [^] # Re: Et le Troll, il arrive quand ?

      Posté par  . Évalué à 0.

      Je rappelle le titre du thread : Et le Troll, il arrive quand ?

      Et la concurrence, elle arrive quand ?
      • [^] # Re: Et le Troll, il arrive quand ?

        Posté par  . Évalué à 1.

        > Et la concurrence, elle arrive quand ?

        En meme temps que Duke Nukem..

        Sinon j'aimerai bien qu'on m'explique ce que c'est la "rétention des descendants": le troll contra/co/iso-variant je connais pas la rétention des descendants: j'ai fait une recherche Google, sans succés.
  • # Re: Une nouvelle version stable de SmartEiffel

    Posté par  . Évalué à 1.

    Il esiste quoi pour faire une GUI avec eiffel ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.