Journal Code source de Apollo 11

Posté par (page perso) . Licence CC by-sa
Tags : aucun
45
11
juil.
2016

Petite anecdote, le code source d'Apollo 11 ( 1965 ? ) a été githubé.

https://github.com/chrislgarry/Apollo-11

La seule chose que je comprend, c'est que les mecs ils ont des ballz… Pour envoyer un mec dans la lune avec un programme en … assembleur, les mecs sont bons quand même.

Article:
www.nextinpact.com/news/100597-apollo-11-code-source-ordinateur-bord-disponible-sur-github.htm

Bonus:
Une petite doc sur le code
http://www.ibiblio.org/apollo/NARA-SW/E-2052.pdf

  • # asm

    Posté par . Évalué à 10.

    J'ai moins de frayeur rétrospective en sachant que le programme était en assembleur que s'il avait été en Basic.

    • [^] # Re: asm

      Posté par (page perso) . Évalué à 10.

      Et puis on fait trop confiance au numérique de nos jours. La tour Eiffel n'a pas été calculé par ordinateur. La fusée Saturn V n'ont plus… On est capable de plein de bonne chose sans CPU.

      D'un autre coté, le CPU nous donne la cotation boursière et les micro-transactions, la gouvernance sous l'emprise des INDEX de toute sorte… et la planète rougit !

      Bref, les langages de haut niveau sont très bien mais ont aussi des travers ;-)

      • [^] # Re: asm

        Posté par (page perso) . Évalué à 8.

        L'informatique est un outil, simplement.

        • [^] # Re: asm

          Posté par . Évalué à 7.

          Bonjour

          Je ne crois pas qu'un outil existe simplement. Un outil modifie les comportements individuels et sociologique beaucoup plus que l'on pourrait croire

          l'outil 'simplement' existerait bien dans un monde ou les humains seraient rationnels et raisonnables.

          Je crois que notre monde n'est pas encore ainsi (et c'est peut être heureux après tout)

    • [^] # Re: asm

      Posté par (page perso) . Évalué à 7.

      Quand je pensais qu'il leur suffisait de mandater Pierre Tramo pour obtenir un code Java en quoi (?) deux jours max (!), sont vraiment fous à la NASA !

      T'as le bonjour de JavaScript !

  • # Assembleur

    Posté par . Évalué à 10.

    En 1969, l'assembleur n'était pas vraiment un choix, vu les ressources limitées en RAM, notamment.

    • [^] # Re: Assembleur

      Posté par . Évalué à 3. Dernière modification le 11/07/16 à 12:01.

      Merci, j’ai fait un bon aussi… Apollo 11 c’est pas le code source du dernier lanceur chinois !

      • [^] # Re: Assembleur

        Posté par (page perso) . Évalué à -3.

        Ca aurait pu etre un "pseudo" C ?

        • [^] # Re: Assembleur

          Posté par . Évalué à 10.

          Dites, vous avez regardé la date avant de réagir avec vos réflexes de 2016 ?

          Appollo 11, ça date de 1969. La première version du langage C date de 1972. Donc clairement, ça aurait pas pu être du pseudo C.

          À l'époque, y'avait quelques langages de haut niveau (Fortran, Cobol), mais les compilateurs n'étaient pas aussi fiables qu'actuellement. Si vous discutez avec des ingénieurs qui ont fini leur études dans les années 70, certains vous expliquent qu'ils ont du recommencer leur projet de fin d'études en assembleur parce que le compilateur Algol ne marchait pas finalement. C'est inimaginable de nos jours. Alors ça ne m'étonnerai pas qu'en 1969, on ait décidé que les compilateurs n'étaient pas assez fiables pour leur confier la compilation d'un code qui fait atterrir un engin lunaire.

          • [^] # Re: Assembleur

            Posté par . Évalué à 4.

            Meme pas besoin de remonter autant dans le temps : Lors de mon stage de fin d'étude en 2001, le compilateur C coldfire de windriver me sortait un assembleur foireux pour des switch() et sur la version rapide du calcul de checksum UDP

            • [^] # Re: Assembleur

              Posté par (page perso) . Évalué à 3.

              Pour aller dans ton sens, la première version d'Ada est 83 suite aux premières étapes de sa création en 74 ! Ada est arrivé bien après de nombreux succès aéronautiques et spatiaux. D'ailleurs, les deux plus grosses catastrophes que sont les explosions des deux navettes ont lieu sous Ada mais celui-ci n'y était pour rien ;-)

              • [^] # Re: Assembleur

                Posté par . Évalué à 4.

                Et pour Ariane 5 ?

                • [^] # Re: Assembleur

                  Posté par (page perso) . Évalué à 2.

                  Difficile de ne pas avoir A = B + C plutôt que A = B - C… Ce genre de bogue n'est pas toujours évident à trouver. Ceci dis, la dernière norme Ada (2012) met en place les 'Type invariants' (http://www.ada2012.org/) qui permet d'éviter un certain d'erreur bête de ce genre.

                  Il me semble avoir entendu lors d'un exposé que la ligne 1 du métro a été automatisé en Esterel et qu'il n'a été trouvé aucun bogue. Cela semble trop beau pour être vrai à 100% mais je ne connais personne en interne pour confirmer / infirmer et je n'y connait rien en Esterel ;-)

                  • [^] # Re: Assembleur

                    Posté par . Évalué à 2.

                    L'automatisation de la ligne 1 a été réalisée côté logiciel au moyen de la méthode B. La méthode B permet de prouver la cohérence d'une conception logicielle avec une spécification formelle (mathématique).
                    Elle est toujours utilisée aujourd'hui par des industriels du ferroviaire comme Alstom ou Siemens.

                    • [^] # Re: Assembleur

                      Posté par . Évalué à 3. Dernière modification le 19/07/16 à 10:00.

                      Jean-Raymond Abrial, le chercheur à l'origine de la méthode B, a présenté l'historique et les principes de celle-ci dans cette conférence au collège de France : Spécification, construction et vérification de programmes : le parcours d'une pensée scientifique sur une trentaine d'années.

                      Cette présentation est celle d’un chercheur vieillissant qui porte un regard historique sur les trente dernières années de son travail.

                      Il y a deux sortes de chercheurs : les prolifiques et les monomaniaques. Je fais partie de la seconde catégorie, car j'ai toujours pratiqué le même genre d’investigations, à savoir la spécification et la construction vérifiée de systèmes informatisés.

                      Ce travail, autant théorique que pratique, s’est concrétisé au cours de toutes ces années dans trois formalismes voisins : Z, B et Event-B (dont je ne suis pas, loin de là, le seul contributeur). Je vais tenter d’expliciter comment les idées que contiennent ces formalismes et les outils correspondants ont lentement émergés de façon parfois erratique.

                      Je tenterai aussi de préciser les multiples influences qui ont participé à cette évolution. En particulier, je montrerai comment plusieurs réalisations industrielles ont permis de progresser dans ce domaine. Mais je soulignerai aussi les échecs et parfois les rejets de la part de communautés tant universitaires qu’industrielles.

                      Pour finir, je proposerai quelques réflexions et approches pour le financement de recherches telles que celle-ci.

                      Sapere aude ! Aie le courage de te servir de ton propre entendement. Voilà la devise des Lumières.

                • [^] # Re: Assembleur

                  Posté par (page perso) . Évalué à 6.

                  Va falloir arrêter un peu avec ça ! A chaque fois que l'on parle d'Ada, on y a le droit.
                  Le langage n'y est pour rien quand il y a décision du développeur de lever les protections sur une variable pour raison de performances.

                  • [^] # Re: Assembleur

                    Posté par . Évalué à 10.

                    Le langage n'y est pour rien quand il y a décision du développeur de lever les protections sur une variable pour raison de performances.

                    On peut troller sur la decision du language d'autoriser le développeur à lever les protections :)
                    Mais je suis fair play alors je le ferais pas.

                    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

                    • [^] # Re: Assembleur

                      Posté par . Évalué à 4.

                      On peut troller sur la decision du language d'autoriser le développeur à lever les protections :)

                      Espece de gueux, on éctrit lan*ga*ge en français. Ceci dit, je prendrais bien une part de guateau ça va eguayer ma journée.

                      Sinon, pourquoi lever les protections ? Parce qu'Ada a été conçu comme un langage générique censé être un standard (de mémoire dans l'armée US) et devant servir tant à la gestion de système embarqués qu'à la gestion des outils de comptabilité (et remplacer tous les langages spécifiques existants). De ce fait il y a des cas ou les protections peuvent poser problème (je pense notamment à la programmation bas niveau, par exemple lorsque tu développes un noyau ou un exécutif temps réel en ADA).

                      Je ne pourrais pas te donner tous les détails car ça fait longtemps que j'ai lu ça (et ce que j'ai écrit dessus peut être inexact), mais tu trouves pleins de références sur le net qui te l'expliqueront (là j'ai pas trop le temps de refaire une recherche).

          • [^] # Re: Assembleur

            Posté par (page perso) . Évalué à 10.

            Alors ça ne m'étonnerai pas qu'en 1969, on ait décidé que les compilateurs n'étaient pas assez fiables pour leur confier la compilation d'un code qui fait atterrir un engin lunaire.

            Et pire que ça niveau dates, ça m'étonnerait que le projet ait commencé à être codé en 69 en mode étudiant "merde faut rendre le projet demain".

            • [^] # Re: Assembleur

              Posté par (page perso) . Évalué à 9.

              Et pire que ça niveau dates, ça m'étonnerait que le projet ait commencé à être codé en 69 en mode étudiant "merde faut rendre le projet demain".

              Et donc bien avant la professionalisation des métiers du développement qui date du milieu des années 70. Voir par exemple cette anecdote: en 1968 IBM publie cette annonce dans le New-York Times:

              Are you the man to command electronic giants

              Ils ont reçu… 7 dossiers de candidature! :)

  • # Cool code

    Posté par . Évalué à 10.

    La seule chose que je comprend, c'est que les mec ils ont des ballz … Pour envoyer un mec dans la lune avec un programme en … assembleur, les mecs sont bon quand même.

    C'est bien pire que ca.

    Ce n'est pas écrit en assembleur mais en MAC (MIT Algebraic Compiler), puis le MAC a été compilé vers de l’assembleur à la main par des humains. Et c'est ce résultat que tu as sur Github.

    Ca donne des choses comme ca:

                TC  BANKCALL    # TEMPORARY, I HOPE HOPE HOPE
                CADR    STOPRATE    # TEMPORARY, I HOPE HOPE HOPE
                TC  DOWNFLAG    # PERMIT X-AXIS OVERRIDE
    

    Kevlin Henney en parle rapidement dans Cool Code vers 15mn.

  • # Burn baby burn - master ignition routine

    Posté par (page perso) . Évalué à 10.

  • # d'autres aussi ils en ont

    Posté par (page perso) . Évalué à 1.

    c'est comme Tesla, ils ont ont pour faire roul… euh non dsl

  • # HS

    Posté par (page perso) . Évalué à 10.

    La seule chose que je comprend, c'est que les mec ils ont des ballz …

    Bim, voilà où ça mène les expressions sexistes :

    À l'époque, c'est le MIT qui a conçu et développé le logiciel embarqué pour cette mission d'exploration spatiale. L'équipe était alors dirigée par l'informaticienne Margaret Hamilton, une des pionnières dans son domaine.

    • [^] # Re: HS

      Posté par . Évalué à 5.

      À l'époque, c'est le MIT qui a conçu et développé le logiciel embarqué pour cette mission d'exploration spatiale. L'équipe était alors dirigée par l'informaticienne Margaret Hamilton, une des pionnières dans son domaine.

      Oui sauf qu'on doit les systèmes aux Dr. James Miller, Dr. Norman Sears, Dr. William Widnall, Dr Gilbert Stubbs. Ceux qui ont bossé directement dessus.

      Je t'invite à lire le "rapport" de David Hoag - The history of Apollo On-board guidance, navigation and control.

      Certes, c'est une femme qui a géré l'équipe, ça démontre encore que le mérite prévaut sur le sexe et c'est souvent comme ça.

      Donc t'aurais pu te retenir de faire ton féministe à deux sous par ce que là, t'es casse-couilles. :)

    • [^] # Re: HS

      Posté par (page perso) . Évalué à 10.

      Je trouve ton opposition à la possession de ballz par les femmes très sexiste.

      • [^] # Re: HS

        Posté par . Évalué à 10. Dernière modification le 11/07/16 à 17:14.

        Puis de toute manière, ceux qui avaient vraiment des "ballz", c'est pas les dev, c'est plutôt ceux qui montaient dans le gros pétard géré par le code des dev en question. C'est vraiment un truc de dev ça : s'approprier le courage dont les utilisateurs font preuve en utilisant leurs programmes.

        D'ailleurs, tout ça est très bien raconté dans le documentaire spaceballz.

        Faut pas gonfler Gérard Lambert quand il répare sa mobylette.

        • [^] # Re: HS

          Posté par (page perso) . Évalué à 10.

          ceux qui avaient vraiment des "ballz" […] c'est plutôt ceux qui montaient dans le gros pétard

          Les trois mecs sont enfermés tout en haut d'une sorte de grand tube rempli de quelques milliards de joules. La porte est soudée (pour sortir il y a des charges explosives). Il y a déjà eu un paquet de bons gros échecs, du genre gigantesques explosions, incendies, etc. Le compte à rebour vient de se terminer, les vibrations sont énormes.
          Un des astronautes : « bon alors, qu'est ce qui pourrait mal se passer ? »
          Son collègue : « le voyage ne dure qu'une semaine. Même en parlant 24h/24 on ne va pas avoir le temps de faire le tour des trucs qui peuvent foirer »

    • [^] # Re: HS

      Posté par . Évalué à 10.

      Bim, voilà où ça mène les expressions sexistes

      Beaucoup de femmes reprennent ce genre d'expressions à leur compte, et je trouve ça plutôt rigolo. Quand on dit «on se gèle les couilles», c'est sexiste? Ou «jouer petite bite»? Quand quelqu'un se fait «fermer le bec», c'est discriminant envers les non-oiseaux?

      • [^] # Re: HS

        Posté par (page perso) . Évalué à 10.

        On dit bien d’un homme qu’il agit comme un con, alors que c’est tout ce qui lui manque.

        ce commentaire est sous licence cc by 4 et précédentes

        • [^] # Re: HS

          Posté par (page perso) . Évalué à 6.

          c’est tout ce qui lui manque.

          Pas du tout, j'en ai à la maison.
          Par contre ça coûte cher.
          Et pour certains ça coûte encore plus cher de ne plus l'avoir.

    • [^] # Commentaire supprimé

      Posté par . Évalué à -1. Dernière modification le 12/07/16 à 09:51.

      Ce commentaire a été supprimé par l'équipe de modération.

    • [^] # Re: HS

      Posté par . Évalué à 5.

      Bim, voilà où ça mène les expressions sexistes :

      Va dire ça à celles qui s' "en battent les couilles" que l'on croise dans la rue.

  • # L'exploit est relaté dans une vidéo.

    Posté par . Évalué à 5.

    L'ordinateur de navigation d'Apollo 11 en vidéo

    En fait, il aura fallu deux trouvailles, dans l'ordre d'apparition dans la vidéo :
    - la centrale inertielle (celle qui est encore dans tous les avions de ligne aujourd'hui et qui est aussi appelée Le pilote automatique).
    - et la construction d'un ordinateur ET la création de son programme de navigation (associé à la centrale inertielle).

    Bravo au MIT.

  • # Allô Houston, on a un problème !

    Posté par . Évalué à 3.

    Certains ont d'ailleurs détecté des bugs, dont celui-ci, qui recommande de vérifier les réservoirs d'oxygène, avant de les brasser !
    Comme le dit un commentaire sous cet issue : ça devrait être corrigé pour Apollo 14 !

  • # Vendredi

    Posté par (page perso) . Évalué à 2.

    Doit bien y'avoir un moyen de factoriser tout ça en une ligne de perl.

  • # "ballz" ?

    Posté par . Évalué à -1.

    Tu veux dire "couilles" ?
    Quel intérêt de se la jouer avec des termes anglais ?

  • # Les commentaires :')

    Posté par (page perso) . Évalué à 1.

    J'ai lu tous les fichiers juste pour le plaisir de découvrir les commentaires des dev'. Un vrai régal :).

    La majeure partie des morts l'était déjà de son vivant et le jour venu, ils n'ont pas sentis la différence.

Suivre le flux des commentaires

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