Heute erwähnte mein Dozent den Grund, warum das Flugzeugsystem in Assemblersprache programmiert ist, weil das geschriebene Programm weniger Fehler aufweist. Ist diese Aussage wahr? Denn als er nach unserer Meinung fragte, sagte ich, dass die Montage ein schnelleres Programm erstellen kann, daher ist es eine gute Sprache für ein Echtzeit-orientiertes Flugzeugsystemprogramm. Ich suche in Google, kann aber anscheinend keinen Artikel finden, der die Aussage meines Dozenten verdeutlicht.
9
Antworten:
Die Aussage Ihres Dozenten ist nachweislich falsch. Der Steuercode des Joint Strike Fighter ist in C ++ geschrieben. Die 777 von Boeing verwendet 99% + ADA . Die JPL verwendet hauptsächlich C , um Raumschiffe anzutreiben.
Ich bin sicher, dass es weitere Beispiele gibt, aber ich vermute, dass viele proprietär oder klassifiziert sind.
Hier ist ein Artikel, der einige Details zum Thema Testen von Avionik-Software auf einer allgemeineren Ebene behandelt.
quelle
Ich arbeite an OBOGS, einer Komponente, die in verschiedene Flugzeuge eingesteckt wird. Wir verwenden normalerweise C für die Geräte, die fliegen, aber wenn wir die historischen Dateien durchsehen, gibt es dort einige Montageprojekte.
Es ist Mode, ehrlich. Sprachen steigen und fallen. Die Gründe, warum Menschen den einen oder anderen benutzen, sind überall unterschiedlich und meist subjektiv. Ich finde es völlig plausibel, dass irgendwann jemand argumentierte, dass die Montage für ein Projekt irgendwo die richtige Wahl sei, weil sie weniger Fehler enthalten würde als in jeder anderen Sprache. Und er hatte wahrscheinlich Recht, aber das liegt daran, dass der Typ nicht wusste, wie man in C codiert, was verdammt wert ist. Bei weitem die beste Sprache für den Job ist die, die Sie kennen. (Und die beste Sprache für Ihr persönliches Wachstum ist eine, die Sie nicht haben.)
Sie können objektiv sagen, dass die Assemblierung näher an der Hardware liegt, weniger abstrahiert, direkter, mit mehr Anweisungen für dasselbe in anderen Sprachen. Man kann sogar sagen, dass es im Bereich der Möglichkeit liegt, dass eine Versammlung geschrieben werden kann, um den Aufwand zu verringern und schnell zu rauchen. Wenn Sie wissen, was Sie tun. Aber was Fehleranfälligkeit, Entwicklungsgeschwindigkeit, Lesbarkeit und die Fähigkeit zur Heilung von Krebs betrifft? All das hängt von den Fähigkeiten des Programmierers und dem ab, woran er in den letzten 20 Jahren gearbeitet hat. Messungen, bei welchen Projekten mit welcher Sprache X Fehler auftreten, unterliegen soziologischen Faktoren, die sie weitgehend wertlos machen. Nein, es ist alles so viel Mode.
Es ist gut zu wissen, worauf Ihr Code hinausläuft, daher werde ich sagen, dass es wichtig ist, das Zusammenbauen zu lernen. Wenn auch nur ein bisschen. Aber ich würde keine Avionik darin schreiben.
quelle