NASA pisze oprogramowanie krytyczne dla misji w C. A zasady są absolutnie SZALONE. > Brak rekurencji. Kiedykolwiek. > Każda pętla musi mieć udowodniony górny limit. > Brak dynamicznej alokacji pamięci po inicjalizacji. > Maksymalnie ~60 linii na funkcję. > Minimum 2 asercje na funkcję. > Każda wartość zwracana musi być sprawdzona. > Zero ostrzeżeń kompilatora dozwolone. > Codzienna analiza statyczna. Zero ostrzeżeń również tam. > Brak wskaźników funkcji. > Ograniczone dereferencjonowanie wskaźników. Tak piszą kod w NASA / JPL dla systemów krytycznych dla misji.