Conclusion du premier concours logiciel libre d'Ada-France

Posté par  . Modéré par Yann Hirou.
Étiquettes :
0
22
nov.
2001
Communauté
Lors de la journée Ada-France qui aura lieu le 4 décembre à Paris VI,
les sponsors vont remettre des prix allant de 800 à 1500 euros (10 000F)
aux gagnants de la première édition du concours.

L'association Ada-France acompagne ainsi le regain d'intéret que trouve Ada dans la communauté du libre,
(voir l'exemple de gvd).



Ada est en effet truffé de qualités qui font une nette différence dans les développements répartis typique du logiciel libre.

C'est un choix à examiner sans à prioris...

même si vous ne souhaitez pas participer à l'édition 2002 du concours!

Aller plus loin

  • # Non, il n'y a pas de troll dans la news !

    Posté par  . Évalué à 7.

    Ada est en effet truffé de qualités qui font une nette différence dans les developpements répartis typique du logiciel libre.

    Attention, lisez-bien avant de troller... on y parle de développements répartis, donc de programmation parallèle.
    • [^] # Re: Non, il n'y a pas de troll dans la news !

      Posté par  . Évalué à -3.

      comme pour la fusée Ariane ? :-) (si mais souvenir sont exacts :-)
      • [^] # Re: Non, il n'y a pas de troll dans la news !

        Posté par  . Évalué à -6.

        désolé pour ce commentaire immonde.. je corrige:
        'si MES souvenirS sont exacts'

        Il faut que je me reveille... hop -1
      • [^] # Re: Non, il n'y a pas de troll dans la news !

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

        exception
        when TROLL =>
        put("Debian sux, slack rulez");
        raise SLACKWARE_RULEZ;
        • [^] # Re: Non, il n'y a pas de troll dans la news !

          Posté par  . Évalué à -7.

          exception
          when Slackware_Troll.SLACKWARE_RULEZ =>
          Ada.Text_IO.Put_Line
          ("Slack sux, Debian Roulaize");
          raise SLACKWARE_SUX;
          end Debian_Roulaize;
          • [^] # c moi qui gagne

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

            when SLACKWARE_SUX =>
            Microsoft.VisualC.error.Bluescreen(Type => Mini_window, Content => unhandled_exception);
            Microsoft.base.message(Type=> reboot, message => "Please reboot, contradiction found near: SLACKWARE_SUX, make sure you didn't mean DEBIAN_SUX");
            • [^] # non, c'est pas toi

              Posté par  . Évalué à -7.

              microsoft_error.adb:126:12: "Microsoft" is undifined
              gnatmake: "microsoft_error.adb" compilation error
      • [^] # Les qualités du langage Ada

        Posté par  . Évalué à 10.

        Le langage n'est pas un certificat de non-bug; mais je préfère confier ma vie à un programme écrit en ADA qu'à un programme écrit en Java, en C ou dans pleins d'autres langages.

        Certe l'ADA est très pénible à écrire.
        Oui, il impose énormément de contraintes au programmateur.
        Mais fonctionnellement, il tiens très bien la route face à la plupart des langages modernes ; et au niveau du code produit, la qualité est très bonne, entre autre à cause de toutes ces contraintes qui sont imposées, et parce qu'il a été conçu intelligement au départ.
        • [^] # Re: Les qualités du langage Ada

          Posté par  . Évalué à 10.

          pas ADA mais Ada !!!

          Sinon, je suis d'accord avec toi, mais je ne trouve pas que programmer en Ada soit 'pénible'. C'est effectivement difficile au début, car ce language est réellement différent des autres languages OO. Mais une fois le cap de l'apprentissage dépassé, ca roulaize !
        • [^] # Re: Les qualités du langage Ada

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

          De toutes façons, que les appli. tournant sur Ariane 5 aient été écrites en Ada, en C, en Smalltalk, en visual basic ou en COBOL n'aurait strictement rien changé. Ariane 5 s'est plantée à cause d'une histoire bête d'économies d'argent, tout ça parce qu'ils ont voulu éviter une intégration globale des composants. Du coup ils ne sont pas rendus compte d'un overflow dans un calcul flottant ...

          Ada est pénible à écrire ... pour une personne qui vient du monde C/C++. Programmer en Ada, c'est d'abord adopter une philosophie différente de développement (en particulier blinder certaines composants pour éviter que les développeurs fassent des appels foireux). Il n'empêche que le cycle de développement en Ada change radicalement du cycle de développement en C/C++, pour ne citer qu'eux. On n'est plus dans les cycles compilation/run/segmentation fault/gdb/patch/compilation/run/segmentation fault... tout simplement parce que 80% des segmentation fault générées par du code C sont capturées en Ada directement à la compilation, et on a un traceback au moindre plantage d'une appli (un peu à la manière de Java, au moins on sait où ça a pété sans avoir à lancer gdb)
          • [^] # Re: Les qualités du langage Ada

            Posté par  . Évalué à 3.

            Ils ont surtout repris du code d'Ariane 4 sans tenir compte des diff de spec entre les 2 fusées: Ariane 5 "pousse" bcp plus qu'Ariane 4, et donc le changement de trajectoire horizontale doit s'opérer plus tôt. Le code n'a pas été modifié en conséquence (ou tout du moins le paramétrage). C'est ce qu'on m'en a raconté. Du coup, les programmes qui étaient chargés de contrôler la poussée verticale et la poussée horizontale se sont "tapés" dessus sans régler le pb: fusée détruite.

            Pub perso: http://baptiste.malguy.net/doc/ada(...)
            (tout correctif est le bien venu, j'ai écrit ça il y a 3 ans ...).
            • [^] # Ariane 5 + Ada = Boum ?

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

              En fait, c'est bcp plus simple, j'ai travaillé quelques mois à Kourou ou j'ai eu le fin mot de l'histoire.
              Le prog Ada avait des contraintes par rapport à l'accélération d'ariane 4 (par ex de 0 à 2g ce sont pas les chiffres exacts).
              Mais comme ariane 5 accélere plus (>2g), il y a une exception, ce qui fait que le calculateur à considéré que la centrale inertielle était en panne.
              Du coup il y a eu basculement sur la centrale inertielle de secours, qui bien évidemment envoyait les mêmes données.
              Le calculateur a déduit que c'était lui qui était en panne, il y a eu reset du calculateur, et les nouvelles coordoonées à atteindre pour la fusée étaient (x=0,y=0,z=0), les coordonnées du pas de tir.
              A partir de là, le calculateur a braqué les moteurs à fond pour retourner au pas de tir, et bien évidemment, ariane n'est pas supercopter (une fusée, ça vole globalement droit, pas en lacet en tout cas), la structure s'est déchirée entrainant l'auto-destruction immédiate en cas de non intégrité de la structure ("StarTrek BuzzWord Compliant" :-)

              Mais le coupable c'est effectivement le budget, parce qu'autrement, le concept d'ariane 5 était trés au point dés le premier tir. Une simple passe de validation aurait mis en avant le problème, tout ça pour faire des économies de bout de chandelle qui ont couté Y fois plus au final.
              • [^] # Re: Ariane 5 + Ada = Boum ?

                Posté par  . Évalué à 3.

                Ce qui n'a pas été dit, c'est que le deuxième essai d'Ariane 5 a aussi foiré... pas complètement, la fusée n'a pas été détruite, mais ses réacteurs ont été coupés trop tôt à cause d'une sonde dans les réservoirs qui était mal placée: quand vous faites tourner une bouteille d'eau selon son axe vertical, vous voyez que la surface de l'eau se courbe comme cela \___/ (une cloche à l'enver, c'est exagéré, mais c'est comme ça). Lors de son vol, la fusée tourne un peu sur elle même selon son axe vertical (pas très vite, mais sa taille est telle que la courbure n'est pas négligeable) et comme le capteur de niveau était mal placé/calibré, le niveau à été mal estimé... mais ils ne s'en vantent pas de celle-là (essayez de savoir ce que sont devenus tous les satellites emportés lors de ce second vol)!

                -1 parce que pas vérifiable et rien à voir avec Ada
                • [^] # Re: Ariane 5 + Ada = Boum ?

                  Posté par  . Évalué à -1.

                  -1 parce que pas vérifiable et rien à voir avec Ada

                  Pas vérifiable, jpas vérifiable. Je me souviens qu'a l'époque de ce second test, les journaux clamaient "REUSSITE DE LA MISSION" et en tout petit en fin d'article : "un seul regret, une petite erreur d'altitude finale". Ca m'avait frappé parceque je ne voyais pas pourquoi la mission pouvait être une réussite si ils ont pas été assez haut. Finalement, les satellites, ils tournent comme des cons ou ils sont retombés ?
                • [^] # Re: Ariane 5 + Ada = Boum ?

                  Posté par  . Évalué à 0.

                  mais ils ne s'en vantent pas de celle-là
                  (essayez de savoir ce que sont devenus tous les
                  satellites emportés lors de ce second vol)!

                  De mémoire :
                  Ils ont remonté le(s) satellite(s):
                  >en utilisant une partie de ses reserves en carburant...
                  Résultat, il vivra moins longtemps.
                  >et/ou en utilisant un propulseur ionique expérimental.

                  est-ce le meme satellite, ou son compagnon de voyage? à vérifier.
                • [^] # Re: Ariane 5 + Ada = Boum ?

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

                  Effectivement, la rotation de la fusée était trop importante quelques tours par minutes.
                  Quand au satellites, si ma mémoire est bonne, c'étaient des faux, des maquettes de satellites ayant grosso modo la même répartition des masses pour valider la fuséee.
                  En fait, le premier tir devait démontrer la fiabilité d'Ariane 5 avec des satellites opérationnels gratuits, et à partir du second tir ce devait être des tirs commerciaux.
                  Mais l'explosion a tout fait foirer. Rien ne sert de courrir il faut partir à point :-)
                • [^] # Re: Ariane 5 + Ada = Boum ?

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

                  C'est le problème que l'on aurait pu et dû voir au premier essai si il n'y avait pas eu le bug..
                  Pour ma part, je pense que c'est pour détecter ce type de problème que l'on fait des vols d'essais car les simulations ne sont jamais parfaites.
                  C'est pour cela que je pense que trouver ce type de problème n'est pas scandaleux.
                  Par contre, le premier plantage, celui du vol 501 n'est pas normal : c'est ce qui arrive lorsque les techniciens n'ont plus la parole et qu'on la donne à des administratifs.
              • [^] # Re: Ariane 5 + Ada = Boum ?

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

                J'ai moi aussi suivi l'affaire de près.
                Le pire, c'est que la bout de programme qui a planté ne servait plus à rien !
                Il permettait à Ariane 4 de conserver le calage à zéro de ses centrales jusqu'au décollage effectif. .
                Dans le cas d'Ariane 5, le décollage est immédiat.
            • [^] # Re: Les qualités du langage Ada

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

              Ce n'est pas que le code qui a été repris, c'est toute la centrale d'ariane 4.
              Certains avaient fait le raisonnement shadock : puisque ça fonctionne avec Ariane 4, ça fonctionnera avec Ariane 5.
      • [^] # Re: Non, il n'y a pas de troll dans la news !

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

        NON, pour la fusée ariane, c'est un BASIC je crois, pas de l'ADA. Ceci dit, sur de nombreux systèmes de l'armée, c'est le plus souvent ADA qui est utilisé (ou tout au moins il y a quelques années)
        • [^] # Re: Non, il n'y a pas de troll dans la news !

          Posté par  . Évalué à 1.

          Ceci dit, sur de nombreux systèmes de l'armée, c'est le plus souvent ADA qui est utilisé (ou tout au moins il y a quelques années)

          Heureusement que l'armée s'en est servi de l'Ada, c'est un peu l'armée américaine qui l'a commandé pour standardiser le développement de ses applications.
          • [^] # Je me souviens ...

            Posté par  . Évalué à 2.

            ...d'un ami qui bossait sur les calculateurs de Boeing :

            Il y avait trois equipes avec un cahier des charges identique, mais qui programmaient sans etre au même endroit, et en trois langages différents, dont l'Ada.

            Cela pour etre sur qu'un bug dans l'un des calculateurs n'etait pas present dans les autres au même moment. De facon à invalider le fautif plus surement.

            Une forme de programmation en parallele assez amusante... et efficace.

            Forcement, c'est plus cher, mais je prefere ca quand je mets les fesses dans un truc qui doit voler... :)

            Mike
    • [^] # Re: Non, il n'y a pas de troll dans la news !

      Posté par  . Évalué à 8.

      non, développement répartis (fait par de nombreuses personnes en même temps) et non pas programmes répartis (nombreux composants communiquant ensemble)...

      Ada est en effet spécialement étudié pour permettre les gros projets par l'obligation de diviser chaque paquetage en spec/body (contrairement au C(++) par exemple où les .h ne sont ni obligatoires, ni utilisés correctements la plupart du temps). Cela permet de concevoir le logiciel en créant les specs, et ensuite de travailler à plusieurs sur les body. Il est même possible de compiler les specs sans body afin de vérifier leur validité.
    • [^] # Re: Non, il n'y a pas de troll dans la news !

      Posté par  . Évalué à 3.

      Je pense que l'auteur a voulu parler ici de programmation en parallèle et non de développement de programmes parallèles.

      Ada est adapté aux deux cas, voire à la combinaison des deux : plusieurs programmeurs travaillant en parallèle sur un programme parallèle.
  • # <S>ADA</S> mais Ada

    Posté par  . Évalué à 10.

    c'est tout ce que je voulais dire... Mais c'est vrai que ca m'énèrve de voir de l'ADA par ci, ADA par la...

    http://perso.club-internet.fr/ariffart/ada/ada01.html(...)
    ce site explique un peu l'histoire du langage, et en particulier l'origine de son nom, Ada...
    • [^] # Re: <S>ADA</S> mais Ada

      Posté par  . Évalué à -1.

      J'ai fait un peu d'Ada, je connais aussi un peu son histoire et celle de la petite dame du logo.

      Je me suis toujours demandé a quoi sert Ada !
      • [^] # Re: <S>ADA</S> mais Ada

        Posté par  . Évalué à 2.

        Je me suis toujours demandé a quoi sert Ada !

        A écrire des programmes. :-)

        Bon, il est surtout utilisé dans le domaine de l'embarqué, ou dans des cas ou les contraintes de sécuritées sont importantes.

        Mais rien n'empeche de l'utiliser pour tout autre chose. Personnellement, j'ai été dans une équipe qui l'utilise pour le développement d'une gamme de logiciels de CAO multiplateformes.
        • [^] # Re: <S>ADA</S> mais Ada

          Posté par  . Évalué à 1.

          La seule fois ou j'ai vraiment pris le pied a programmer en Ada, c'etait pour faire de la programmation générique ou les PAckages sont reutilisables à souhait.

          PAr contre , je ne vois pas l'interet de l'Ada pour la prog objet ou meme pour de la prog tout bete !

          le cout du when => ,
          et puis with Text_IO
          use Text_IO

          et puis le coup ou il faut reinitialiser a chaque fois la variable aleatoire pour sortir une variable differente, je trouve ça lourd.

          J'en garde un assez mauvais souvenir (ma pire note en prog), peut etre etais je a coté de la plaque (mais peu d'eleves l'ont apprecié, pour pas dire aucun).
          • [^] # Re: <S>ADA</S> mais Ada

            Posté par  . Évalué à 4.

            le cout du when =>
            Honnetement, le when Ada est excellent. Combien de fois en C je me suis fait avoir par l'ajout d'une valeur dans un enum, et j'oublie UN case dans un switch.


            use Text_IO
            Je suis contre l'utilisation du use en Ada (comme le using en C++). Sous le fallacieux prétexte d'alleger l'écriture pour le développeur, on rend moins visible dans le code le namespace que tu utilise, et en fait , ça rend la relecture plus fatigante. Pour ceux qui font du java, pensez à la confusion facile entre java.util.Date et javax.sql.Date.
            • [^] # Re: <S>ADA</S> mais Ada

              Posté par  . Évalué à 2.

              Puisqu'il semble y avoir des pros et que je ne vois pas à quoi ressemble Ada (ceci doublé d'une flemme monstrueuse de chercher (la faute à l'heure sans doute)), quelqu'un peut poster un exemple de code super simple, genre un pattern singleton ou composite par exemple ?
              • [^] # Re: <S>ADA</S> mais Ada

                Posté par  . Évalué à 1.

                Un bon exemple de code Ada ne peut pas etre un code super simple, car tu ne verrais alors pas les spécificités du language. Une simple procédure à la con ressemble en fait comme deux gouttes d'eau à du Pascal. Ada montre sa différence et se révèle super puissant lorsque tu as des gros programmes hautement multitâches, etc... Tu peux toujours aller voir les sources de GVD (Gnu Visual Debugger), un équivalent à DDD (en moins lourd, et plus fiable) qui est totalement écrit en Ada.

                Tu pourras le trouver ici:
                http://libre.act-europe.fr/gvd/(...)
  • # Compilateur Ada

    Posté par  . Évalué à 8.

    Pour ceux qui le savent pas gcc integrera le front-end Ada (GNAT) dans la future release gcc 3.1 suite à l'annonce suivante :

    October 2, 2001
    Ada Core Technologies, Inc, has contributed its GNAT Ada 95 front end and associated tools. The GNAT compiler fully implements the Ada language as defined by the ISO/IEC 8652 standard.

    Pour plus d'infos :

    http://gcc.gnu.org/(...)

    A priori les mailing-list sont tres actives sur le sujet Ada et notamment sur l'art et la maniere de bootstrapper la partie GNAT...
  • # Ada vs Ocaml ?

    Posté par  . Évalué à 1.

    Ayant étudié (un peu seulement) le OCaml, je me demande quelles sont les différences d'approche et de type d'applications visées entre ce langage et Ada. Quelqu'un connaîtrait bien les deux langages ?
    Si j'ai bien compris, Ada peut servir pour le développement de logiciels sûrs, ce qui est apparemment également un but de Caml. Mais encore ?

    Merci.
    • [^] # Re: Ada vs Ocaml ?

      Posté par  . Évalué à 1.

      Je connais peu Ocaml, mais en ce qui concerne Ada, le language a été à l'origine commandé par le ministère de la défense américain pour permettre de développer des applications 'safe critical' aussi bien dans le domaine de l'embarqué que pour des applications de type 'gros serveurs avec des millions de lignes de code dedans'.

      En effet, Ada intègre tout un tas de mécanismes de traitements parallèles, de multitâche très utiles dans l'embarqué, et impose des règles de programmation strictes nécessaires pour de grosses applications.

      De nombreux exemples de réalisation peuvent ainsi démontrer ces utilisations : le métro (VAL, la ligne 14 à Paris, etc), l'aviation civile et militaire, les applications médicales montrent l'utilisation d'Ada dans l'embarqué. Du côté grosses applications serveur, on peut citer plusieurs logiciels de gestion d'aéroport (plusieurs millions de lignes de code), les serveurs pour la défense militaire, ou plus fun les serveurs de télévision numérique chez canalsatellite.
      • [^] # Re: Ada vs Ocaml ?

        Posté par  . Évalué à 1.

        C'est marrant, mon prof de Caml m'a seriné que la ligne 14 était en ML :-)
    • [^] # Re: Ada vs Ocaml ?

      Posté par  . Évalué à 1.

      pkoi cette reference a Ocaml tu es fan ? ;)
      • [^] # Re: Ada vs Ocaml ?

        Posté par  . Évalué à 1.

        Hahaha, non non, t'inquiètes, c'est juste qu'on nous a bassiné avec les "logiciels sûrs" en Caml :)

Suivre le flux des commentaires

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