A NASA escreve software de voo crítico para a missão em C. E as regras são absolutamente INSANAS. > Sem recursão. Nunca. > Todo ciclo deve ter um limite superior demonstrável. > Sem alocação dinâmica de memória após a inicialização. > No máximo ~60 linhas por função. > Mínimo 2 asserções por função. > Todo valor de retorno deve ser verificado. > Nenhum aviso de compilador permitido. > Análise estática diária. Nenhum aviso lá também. > Sem ponteiros de função. > Desreferenciação de ponteiro restrito. É assim que eles escrevem código na NASA / JPL para sistemas críticos para missão.