Ein Computer bedarf der Programmierung, um sinnvoll eingesetzt werden zu können. Möchte man ihn zur Lösung bestimmter Probleme verwenden, wie etwa das Sortieren von Daten oder die Multiplikation von Matrizen, so muss die Programmierung eine Vorschrift beschreiben, die festlegt, in welcher Reihenfolge der Computer welche Aktionen durchzuführen hat, damit letztlich die gesuchte Lösung erzeugt wird. Dabei ist es unsinnig, die Vorschrift für eine einzige Eingabe maßzuschneidern. Ziel muss es sein, alle für das jeweilige Problem sinnvolle Eingaben nach derselben Vorschrift abzuarbeiten.