Hoje, meu palestrante mencionou que o motivo pelo qual o sistema da aeronave é programado em linguagem assembly deve-se ao fato de o programa estar sendo escrito e ter menos erros. Esta afirmação é verdadeira? Porque quando ele perguntou sobre a nossa opinião, eu disse que a montagem pode criar um programa mais rápido, portanto, é uma boa linguagem para o programa de sistemas de aeronaves em tempo real. Eu procuro no google, mas não consigo encontrar um artigo que esclareça a declaração do meu professor.
9
Respostas:
A declaração do seu professor é comprovadamente falsa. O código de controle do Joint Strike Fighter está escrito em C ++. O 777 da Boeing usa 99% + ADA . A JPL usa principalmente C para dirigir naves espaciais.
Tenho certeza de que existem mais exemplos, mas suspeito que muitos sejam proprietários ou classificados.
Aqui está um artigo que detalha o assunto de testar o software aviônico em um nível mais geral.
fonte
Eu trabalho no OBOGS, que é um componente que é conectado a várias aeronaves. Normalmente usamos C para os dispositivos que voam, mas, olhando os arquivos históricos, existem alguns projetos de montagem.
É moda, honestamente. As línguas crescem e caem. As razões pelas quais as pessoas usam um ou outro variam em todo o lugar e são principalmente subjetivas. Acho completamente plausível que alguém em algum momento tenha argumentado que a montagem era a escolha certa para algum projeto em algum lugar inteiramente porque haveria menos erros do que em qualquer outro idioma. E ele provavelmente estava certo, mas é porque o cara não sabia como codificar em C vale a pena. De longe, o melhor idioma para o trabalho é aquele que você conhece. (E a melhor linguagem para o seu crescimento pessoal é aquela que você não conhece.)
Você pode dizer objetivamente que o assembly está mais próximo do hardware, menos abstrato, mais direto, com mais instruções para a mesma coisa em outros idiomas. Você pode até dizer que é no campo da possibilidade que a montagem possa ser escrita para cortar a sobrecarga e fumar rápido. Se você sabe o que está fazendo. Mas quanto à propensão a erros, velocidade de desenvolvimento, legibilidade e capacidade de curar o câncer? Tudo isso depende da capacidade do programador e do seu trabalho nos últimos 20 anos. As medições de quais projetos com qual idioma têm uma quantidade X de erros estão sujeitos a fatores sociológicos, tornando-os, em grande parte, métricas inúteis. Não, é tudo moda.
É bom saber como o seu código se resume, então eu vou dizer que é importante aprender a montagem. Se apenas um pouco. Mas eu não escreveria nenhum aviônico nele.
fonte