Assembly Language utilizzato nel sistema di aeromobili

9

Oggi il mio docente ha menzionato il motivo per cui il sistema aereo è programmato in linguaggio assembly è dovuto al fatto che il programma in fase di scrittura ha meno errori. Questa affermazione è vera? Perché quando ha chiesto la nostra opinione ho detto che l'assemblea può creare un programma più veloce, quindi è un buon linguaggio per un programma di sistema di aeromobili orientato in tempo reale. Cerco su google ma non riesco a trovare un articolo che chiarisca la dichiarazione del mio docente.

    
posta caramel1995 23.10.2012 - 09:53
fonte

2 risposte

29

La dichiarazione del tuo docente è dimostrabilmente falsa. Il codice di controllo Joint Strike Fighter è scritto in C ++. Il 777 di Boeing utilizza il 99% + ADA . Il JPL utilizza principalmente C per guidare astronavi.

Sono sicuro che ci sono altri esempi ma sospetto che molti siano di proprietà o classificati.

Questo è un articolo che entra in dettaglio nel oggetto testare software avionico a un livello più generale.

    
risposta data 23.10.2012 - 10:21
fonte
5

Lavoro su OBOGS, che è un componente che viene collegato a vari aerei. Generalmente utilizziamo C per i dispositivi che volano, ma guardando attraverso i file storici, ci sono un paio di progetti di assemblaggio.

È alla moda, onestamente. Le lingue aumentano e diminuiscono. Le ragioni per cui le persone usano l'una o l'altra variano in tutto il luogo e sono per lo più soggettive. Trovo assolutamente plausibile che a un certo punto qualcuno abbia sostenuto che l'assemblaggio era la scelta giusta per qualche progetto da qualche parte perché avrebbe meno errori che in qualsiasi altra lingua. E probabilmente aveva ragione, ma questo perché il ragazzo non sapeva come codificare in C ne vale la pena. Di gran lunga la lingua migliore per il lavoro è quella che conosci. (E la lingua migliore per la tua crescita personale è quella che non fai.)

Si può obiettivamente dire che l'assemblaggio è più vicino all'hardware, meno astratto, più diretto, con più istruzioni per la stessa cosa in altre lingue. Si può anche dire che è nel regno della possibilità che l'assemblea possa essere scritta per tagliare in alto e fumare velocemente. Se sai cosa stai facendo. Ma per quanto riguarda la facilità di errore, la velocità di sviluppo, la leggibilità e la capacità di curare il cancro? Tutto ciò dipende dalla capacità del programmatore e da cosa hanno lavorato negli ultimi 20 anni. Le misurazioni su quali progetti con cui la lingua hanno X quantità di bug sono soggetti a fattori sociologici, in gran parte rendendo metriche inutili. No, è tutto così di moda.

È bello sapere a cosa si riduce il tuo codice, quindi dirò che è importante imparare l'assemblaggio. Se solo un po '. Ma non scriverei nessun avionico.

    
risposta data 23.10.2012 - 17:00
fonte

Leggi altre domande sui tag