A NASA escreve software de voo crítico em C. E as regras são absolutamente INSANAS. > Sem recursão. Nunca. > Cada loop deve ter um limite superior comprovável. > Sem alocação dinâmica de memória após a inicialização. > Máx ~60 linhas por função. > Mínimo 2 afirmações por função. > Cada valor de retorno deve ser verificado. > Zero avisos do compilador permitidos. > Análise estática diária. Zero avisos lá também. > Sem ponteiros de função. > Desreferenciação de ponteiros restrita. É assim que eles escrevem código na NASA / JPL para sistemas críticos.