Aujourd'hui, mon conférencier a mentionné que la raison pour laquelle le système d'avion est programmé en langage assembleur est due au fait que le programme en cours d'écriture a moins d'erreur. Cette affirmation est-elle vraie? Parce que quand il a demandé notre avis, j'ai dit que l'assemblage peut créer un programme plus rapide, c'est donc un bon langage pour un programme de système d'avion orienté en temps réel. Je recherche dans google, mais je n'arrive pas à trouver un article clarifiant la déclaration de mon professeur.
9
Réponses:
La déclaration de votre conférencier est manifestement fausse. Le code de contrôle du Joint Strike Fighter est écrit en C ++. Le 777 de Boeing utilise 99% + ADA . Le JPL utilise principalement C pour conduire des vaisseaux spatiaux.
Je suis sûr qu'il y a plus d'exemples mais je soupçonne que beaucoup sont propriétaires ou classés.
Voici un article qui rentre dans les détails au sujet du test des logiciels avioniques à un niveau plus général.
la source
Je travaille sur OBOGS, qui est un composant qui se branche sur divers avions. Nous utilisons généralement C pour les appareils qui volent, mais en parcourant les fichiers historiques, il y a quelques projets d'assemblage.
C'est la mode, honnêtement. Les langues montent et descendent. Les raisons pour lesquelles les gens utilisent l'un ou l'autre varient partout et sont pour la plupart subjectives. Je trouve tout à fait plausible que quelqu'un à un moment donné ait fait valoir que l'assemblage était le bon choix pour un projet quelque part entièrement parce qu'il aurait moins d'erreurs que dans toute autre langue. Et il avait probablement raison, mais c'est parce que le gars ne savait pas comment coder en C valait la peine. De loin, la meilleure langue pour le travail est celle que vous connaissez. (Et le meilleur langage pour votre croissance personnelle est celui que vous n'avez pas.)
Vous pouvez objectivement dire que l'assemblage est plus proche du matériel, moins abstrait, plus direct, avec plus d'instructions à la même chose dans d'autres langues. Vous pouvez même dire que c'est dans le domaine de la possibilité que l'assemblage puisse être écrit pour couper les frais généraux et fumer rapidement. Si vous savez ce que vous faites. Mais en ce qui concerne la propension aux erreurs, la vitesse de développement, la lisibilité et la capacité de guérir le cancer? Tout cela dépend de la capacité du programmeur et de ce dans quoi il a travaillé au cours des 20 dernières années. Les mesures des projets avec quelle langue ont X quantités de bogues sont soumises à des facteurs sociologiques, ce qui en fait en grande partie des mesures sans valeur. Non, tout est tellement à la mode.
Il est bon de savoir à quoi se résume votre code, donc je vais dire qu'il est important d'apprendre l'assemblage. Si seulement un peu. Mais je n'y écrirais aucune avionique.
la source